> ## Documentation Index
> Fetch the complete documentation index at: https://terminal49.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a custom field

> Retrieve a single custom field value record from the Terminal49 API, including the resolved value, related definition slug, and parent resource reference.

Use this endpoint to retrieve a single custom field value by its ID.

## Path parameters

| Parameter | Description                                     |
| --------- | ----------------------------------------------- |
| `id`      | The unique identifier of the custom field value |

## Response

The response includes:

* `value` - The raw stored value (type depends on the field's data type)
* `display_value` - Human-readable formatted value
* Relationships to the associated entity (shipment or container), definition, and the user who last updated it

## Data types

Custom fields support these data types, each with specific value handling:

| Data type    | Storage                           | Display format                         |
| ------------ | --------------------------------- | -------------------------------------- |
| `short_text` | String                            | As-is                                  |
| `number`     | Decimal (precision: 18, scale: 6) | Formatted per `default_format`         |
| `date`       | Date                              | `YYYY-MM-DD` or custom format          |
| `datetime`   | DateTime                          | `YYYY-MM-DD HH:MM:SS` or custom format |
| `boolean`    | Boolean                           | `Yes` or `No`                          |
| `enum`       | String                            | Option label                           |
| `enum_multi` | Comma-separated string            | Comma-separated labels                 |


## OpenAPI

````yaml get /custom_fields/{id}
openapi: 3.0.0
info:
  title: Terminal49 API Reference
  version: 0.2.0
  contact:
    name: Terminal49 API support
    url: https://www.terminal49.com
    email: support@terminal49.com
  description: >-
    The Terminal 49 API offers a convenient way to programmatically track your
    shipments from origin to destination.


    Please enter your API key into the "Variables" tab before using these
    endpoints within Postman.
  x-label: Beta
  termsOfService: https://www.terminal49.com/terms
servers:
  - url: https://api.terminal49.com/v2
    description: Production
security:
  - authorization: []
tags:
  - name: Containers
  - name: Custom Field Definitions
  - name: Custom Field Options
  - name: Custom Fields
  - name: Shipments
  - name: Locations
  - name: Events
  - name: Tracking Requests
  - name: Webhooks
  - name: Webhook Notifications
  - name: Ports
  - name: Metro Areas
  - name: Terminals
  - name: Routing (Paid)
  - name: Documents
  - name: Email Submissions
  - name: Document Schemas
  - name: Search
paths:
  /custom_fields/{id}:
    parameters:
      - schema:
          type: string
        name: id
        in: path
        required: true
        description: Custom field ID
    get:
      tags:
        - Custom Fields
      summary: Get a custom field
      operationId: get-custom-fields-id
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/custom_field'
                  links:
                    $ref: '#/components/schemas/link-self'
components:
  schemas:
    custom_field:
      title: Custom field
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - custom_field
        attributes:
          type: object
          properties:
            api_slug:
              type: string
            value:
              $ref: '#/components/schemas/custom_field_value'
            display_value:
              type: string
              nullable: true
              description: Formatted value for display
          required:
            - api_slug
        relationships:
          type: object
          properties:
            entity:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - shipment
                        - container
                        - tracking_request
                    id:
                      type: string
                      format: uuid
                  required:
                    - type
                    - id
            definition:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    type:
                      type: string
                      enum:
                        - custom_field_definition
                    id:
                      type: string
                      format: uuid
                  required:
                    - type
                    - id
      required:
        - id
        - type
    link-self:
      title: link
      type: object
      properties:
        self:
          type: string
          format: uri
    custom_field_value:
      description: Raw custom field value (type depends on definition)
      nullable: true
      oneOf:
        - type: string
        - type: number
        - type: boolean
        - type: array
          items:
            type: string
        - type: object
  securitySchemes:
    authorization:
      name: Authorization
      type: apiKey
      in: header
      description: >-
        Use a Terminal49 API key in the `Authorization` header with the `Token`
        prefix.


        `Authorization: Token YOUR_API_KEY`

````