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

# List Custom Fields

> List custom fields for the caller's organization. Supports filtering by `category`, `model`, and `source` (`API` vs `DASHBOARD`).



## OpenAPI

````yaml get /api/v1/custom-fields
openapi: 3.1.0
info:
  title: Bindbee APIs
  version: 0.1.0
servers:
  - url: https://api.bindbee.dev
  - url: https://api-eu.bindbee.dev
security: []
paths:
  /api/v1/custom-fields:
    get:
      tags:
        - Custom Fields
      summary: List Custom Fields
      description: List custom fields for the caller's organization.
      operationId: list_custom_fields_api_v1_custom_fields_get
      parameters:
        - name: category
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/Category'
              - type: 'null'
            description: Filter by category, e.g. HRIS.
            examples:
              - HRIS
            title: Category
          description: Filter by category, e.g. HRIS.
        - name: model
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 64
                pattern: ^[a-z][a-z0-9_-]*$
              - type: 'null'
            description: Filter by model slug, e.g. employee.
            examples:
              - employee
            title: Model
          description: Filter by model slug, e.g. employee.
        - name: source
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/CustomFieldSource'
              - type: 'null'
            description: >-
              Filter by origin: 'API' for fields created via the public API,
              'DASHBOARD' for fields created from the Bindbee dashboard.
            examples:
              - API
            title: Source
          description: >-
            Filter by origin: 'API' for fields created via the public API,
            'DASHBOARD' for fields created from the Bindbee dashboard.
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            maximum: 200
            minimum: 1
            description: Number of results to return per page. Maximum size is 200.
            default: 50
            title: Page Size
          description: Number of results to return per page. Maximum size is 200.
        - name: cursor
          in: query
          required: false
          schema:
            type: string
            description: The pagination cursor value.
            title: Cursor
          description: The pagination cursor value.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_CustomFieldExternal_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - HTTPBearer: []
components:
  schemas:
    Category:
      type: string
      enum:
        - HRIS
        - ATS
        - LMS
      title: Category
    CustomFieldSource:
      type: string
      enum:
        - DASHBOARD
        - API
      title: CustomFieldSource
    PaginatedResponse_CustomFieldExternal_:
      properties:
        cursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Cursor
          description: Cursor value to fetch next set of items
          examples:
            - MDE4YjE4ZWYtYzk5Yy03YTg2LTk5NDYtN2I3YzlkNTQzM2U1
        page_size:
          type: integer
          title: Page Size
          description: Indicates the count of items in the response
          examples:
            - 50
        items:
          items:
            $ref: '#/components/schemas/CustomFieldExternal'
          type: array
          title: Items
          description: List of items in the current response
          examples:
            - {}
      type: object
      required:
        - cursor
        - page_size
        - items
      title: PaginatedResponse[CustomFieldExternal]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CustomFieldExternal:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: Unique identifier of the custom field.
          examples:
            - 018e586b-7d0b-7bc9-be65-a8fdbc82d734
        name:
          type: string
          title: Name
          description: Name of the custom field (snake_case).
          examples:
            - guardian_mobile
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Description of the custom field.
          examples:
            - Employee's guardian mobile number
        category:
          $ref: '#/components/schemas/Category'
          description: Category of the model.
          examples:
            - HRIS
        model:
          type: string
          title: Model
          description: Model on which the custom field is applied.
          examples:
            - employee
        source:
          $ref: '#/components/schemas/CustomFieldSource'
          description: >-
            Origin of the custom field. 'API' if created through the public API,
            'DASHBOARD' if created from the Bindbee dashboard.
          examples:
            - API
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Updated At
      type: object
      required:
        - id
        - name
        - category
        - model
        - source
        - created_at
      title: CustomFieldExternal
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````