---
title: "Get Custom Field By Id"
method: GET
path: "/custom_fields/by-id/{custom_field_id}"
tags: ["custom_fields"]
---

# Get Custom Field By Id

`GET /custom_fields/by-id/{custom_field_id}`

## Request

- Base URL: `https://api.kobaltlabs.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kobaltlabs.com/custom_fields/by-id/{custom_field_id}`
- Auth: none declared

## Path parameters

- `custom_field_id` string, uuid, required

## Response `200`

Successful Response

- union
  - CustomFieldDropdownDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'DROPDOWN'
    - `options` CustomFieldOptionDefinition[]
      - `option_id` string, uuid, nullable
      - `label` string, nullable
      - `hex_color` string, nullable
      - `order_index` integer, nullable
  - CustomFieldFreeTextDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'FREE_TEXT'
  - CustomFieldNumberDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'NUMBER'
  - CustomFieldDateDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'DATE'
  - CustomFieldBooleanDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'BOOLEAN'
  - CustomFieldMultiselectDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'MULTISELECT'
    - `options` CustomFieldOptionDefinition[]
      - `option_id` string, uuid, nullable
      - `label` string, nullable
      - `hex_color` string, nullable
      - `order_index` integer, nullable
  - CustomFieldUserDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'USER'
  - CustomFieldMultiUserDefinition
    - `custom_field_id` string, uuid, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `custom_field_type` 'INHERENT_RISK_LEVEL' | 'RESIDUAL_RISK_LEVEL' | 'CRITICALITY' | 'LIFECYCLE_STATUS'
    - `entity_type` 'VENDOR' | 'CANONICAL' | 'SERVICE' | 'ISSUE' | 'DISCLOSURE' | 'CONTRACT' | 'CONTACT'
    - `order_index` integer, nullable
    - `archived_at` string, date-time, nullable
    - `custom_field_definition_type` 'MULTI_USER'

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-08** `9fe2fb8a3631`: 8 info
  - added the optional property `anyOf[subschema #1]/oneOf[subschema #1: CustomFieldDropdownDefinition]/archived_at` to the response with the `200` status
  - added the optional property `anyOf[subschema #1]/oneOf[subschema #2: CustomFieldFreeTextDefinition]/archived_at` to the response with the `200` status
  - added the optional property `anyOf[subschema #1]/oneOf[subschema #3: CustomFieldNumberDefinition]/archived_at` to the response with the `200` status
  - added the optional property `anyOf[subschema #1]/oneOf[subschema #4: CustomFieldDateDefinition]/archived_at` to the response with the `200` status
  - …4 more

[Operation history](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api/changes/custom_fields/by-id/:custom_field_id/get.md)

---

[API](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api.md) - [All operations](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kobaltlabs/apis/kobaltlabs-api/revisions/8587332d5e43?raw)
