> ## 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.

# List custom field definitions

> List every custom field definition configured for your Terminal49 account, including data type, slug, and the target resource each definition applies to.

List all custom field definitions available to your account.

## Query filters

| Filter                 | Description                                       |
| ---------------------- | ------------------------------------------------- |
| `filter[entity_type]`  | Filter by entity type (`Shipment` or `Container`) |
| `filter[data_type]`    | Filter by data type                               |
| `filter[display_name]` | Filter by display name (prefix match)             |


## OpenAPI

````yaml get /custom_field_definitions
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_field_definitions:
    get:
      tags:
        - Custom Field Definitions
      summary: List custom field definitions
      operationId: get-custom-field-definitions
      parameters:
        - schema:
            type: integer
            default: 1
          in: query
          name: page[number]
        - schema:
            type: integer
            default: 25
          in: query
          name: page[size]
        - schema:
            type: string
          in: query
          name: filter[entity_type]
          description: Filter by entity type (Shipment or Container)
        - schema:
            type: string
          in: query
          name: filter[data_type]
          description: Filter by data type
        - schema:
            type: string
          in: query
          name: filter[display_name]
          description: Filter by display name (prefix match)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/custom_field_definition'
                  links:
                    $ref: '#/components/schemas/links'
                  meta:
                    $ref: '#/components/schemas/meta'
components:
  schemas:
    custom_field_definition:
      title: Custom field definition
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
          enum:
            - custom_field_definition
        attributes:
          type: object
          properties:
            entity_type:
              type: string
              enum:
                - Shipment
                - Container
                - TrackingRequest
            api_slug:
              type: string
            display_name:
              type: string
            description:
              type: string
              nullable: true
            data_type:
              type: string
              enum:
                - short_text
                - number
                - date
                - datetime
                - boolean
                - enum
                - enum_multi
                - reference
            reference_type:
              type: string
              nullable: true
            validation:
              type: object
              nullable: true
              additionalProperties: true
            default_format:
              type: string
              nullable: true
            default_value:
              $ref: '#/components/schemas/custom_field_value'
          required:
            - entity_type
            - api_slug
            - display_name
            - data_type
      required:
        - id
        - type
    links:
      title: links
      type: object
      properties:
        last:
          type: string
          format: uri
        next:
          type: string
          format: uri
        prev:
          type: string
          format: uri
        first:
          type: string
          format: uri
        self:
          type: string
          format: uri
    meta:
      title: meta
      type: object
      properties:
        size:
          type: integer
        total:
          type: integer
    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`

````