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

# List Fields

> List field schemas (key, label, object type, and value data type). Use this endpoint to discover which field keys are available for use in the `fields` and `companyFields` maps of other endpoints. Omit `objectType` to return fields across all object types.

Results are paginated with an opaque cursor returned as `pagination.nextCursor`. Pass it back as the `cursor` query parameter to fetch the next page. A `null` cursor means there are no more results.



## OpenAPI

````yaml /openapi.json get /v2/fields
openapi: 3.1.0
info:
  title: Conversion API
  version: 2.0.0
  description: >-
    The Conversion API lets you programmatically manage contacts, track custom
    events, and manage their associated data.
servers:
  - url: https://pub-api.conversion.ai/api
security:
  - apiKey: []
paths:
  /v2/fields:
    get:
      summary: List Fields
      description: >-
        List field schemas (key, label, object type, and value data type). Use
        this endpoint to discover which field keys are available for use in the
        `fields` and `companyFields` maps of other endpoints. Omit `objectType`
        to return fields across all object types.


        Results are paginated with an opaque cursor returned as
        `pagination.nextCursor`. Pass it back as the `cursor` query parameter to
        fetch the next page. A `null` cursor means there are no more results.
      operationId: listFields
      parameters:
        - name: objectType
          in: query
          required: false
          schema:
            type: string
            enum:
              - CONTACT
              - COMPANY
              - OPPORTUNITY
              - CAMPAIGN_MEMBER
          description: >-
            Filter results to a single object type (case-insensitive). Omit to
            return fields across all object types. An unsupported value returns
            an `invalid_object_type` error.
          examples:
            contact:
              value: CONTACT
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
          description: >-
            The maximum number of fields to return per page. Defaults to 50.
            Values are clamped to the range [1, 100] rather than rejected;
            values above 100 return 100 results.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
          description: >-
            The opaque pagination cursor returned as `pagination.nextCursor` by
            a previous call. Omit to fetch the first page. An invalid or
            malformed cursor returns an `invalid_cursor` error.
          examples:
            next-page:
              value: eyJjcmVhdGVkQXQiOiIyMDI2LTAxLTE1VDEwOjMwOjAwWiJ9
      responses:
        '200':
          description: Field schemas retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    required:
                      - fields
                    properties:
                      fields:
                        type: array
                        description: The current page of field schemas.
                        items:
                          type: object
                          required:
                            - key
                            - label
                            - objectType
                            - dataType
                          properties:
                            key:
                              type: string
                              description: >-
                                The field key used in the `fields` and
                                `companyFields` maps of other endpoints.
                              examples:
                                - first_name
                            label:
                              type: string
                              description: The human-readable display name of the field.
                              examples:
                                - First Name
                            objectType:
                              type: string
                              enum:
                                - CONTACT
                                - COMPANY
                                - OPPORTUNITY
                                - CAMPAIGN_MEMBER
                              description: >-
                                The object this field belongs to. Always
                                present, even when filtering by a single object
                                type.
                            dataType:
                              type: string
                              enum:
                                - STRING
                                - NUMBER
                                - BOOLEAN
                                - DATE
                                - DATETIME
                              description: The data type of the field's value.
                  pagination:
                    type: object
                    required:
                      - nextCursor
                    properties:
                      nextCursor:
                        type:
                          - string
                          - 'null'
                        description: >-
                          Opaque cursor for the next page, or `null` when there
                          are no more results. This is the single source of
                          truth for whether more results exist.
              examples:
                with-more-pages:
                  summary: More pages available
                  value:
                    data:
                      fields:
                        - key: first_name
                          label: First Name
                          objectType: CONTACT
                          dataType: STRING
                        - key: annual_revenue
                          label: Annual Revenue
                          objectType: COMPANY
                          dataType: NUMBER
                    pagination:
                      nextCursor: eyJjcmVhdGVkQXQiOiIyMDI2LTAxLTE1VDEwOjMwOjAwWiJ9
                last-page:
                  summary: Last page
                  value:
                    data:
                      fields:
                        - key: signup_date
                          label: Signup Date
                          objectType: CONTACT
                          dataType: DATETIME
                    pagination:
                      nextCursor: null
        '400':
          description: The request was malformed or contained invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalid-object-type:
                  summary: Unsupported object type
                  value:
                    error:
                      code: invalid_object_type
                      message: >-
                        unsupported object type 'DEAL'; supported values:
                        [CONTACT COMPANY OPPORTUNITY CAMPAIGN_MEMBER]
                invalid-cursor:
                  summary: Invalid cursor
                  value:
                    error:
                      code: invalid_cursor
                      message: invalid pagination cursor
        '401':
          description: Authentication failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                unauthorized:
                  summary: Missing or invalid API key
                  value:
                    error:
                      code: unauthorized
                      message: API key is required
        '500':
          description: An unexpected server error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                internal:
                  summary: Internal error
                  value:
                    error:
                      code: internal_error
                      message: failed to load field schemas
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: A machine-readable error code.
              examples:
                - invalid_email
            message:
              type: string
              description: A human-readable error description.
              examples:
                - 'invalid email format: not-an-email'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Your Conversion API key. Found in **Settings > Integrations** in the
        dashboard. Format: `sk_live_<key_id>_<secret>`.

````