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

# List custom field definitions

List all custom field definitions available to your account.

## Query filters

| Filter                 | Description                                   |
| ---------------------- | --------------------------------------------- |
| `filter[entity_type]`  | Filter by entity type (`Shipment` or `Cargo`) |
| `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
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 Cargo)
        - 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
                - Cargo
            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: >-
        `Token YOUR_API_TOKEN`


        The APIs require authentication to be done using header-based API Key
        and Secret Authentication. 


        API key and secret are sent va the `Authorization` request header.


        You send your API key and secret in the following way:


        `Authorization: Token YOUR_API_KEY`

````