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

# List custom attribute definitions

> List custom attribute definitions for an organisation.
    If module is provided, returns definitions for that specific module.
    If business_entity_id is provided, returns org defaults with business entity overrides.
    Business entity overrides take precedence over org defaults for the same attribute.



## OpenAPI

````yaml /openAPI/openapi-20240301.json get /custom_attributes
openapi: 3.1.0
info:
  title: zenskar
  version: 2.0.0
servers:
  - url: https://api.zenskar.com
security:
  - ApiTokenAuth: []
    OrganisationAuth: []
paths:
  /custom_attributes:
    get:
      tags:
        - Custom Attributes
      summary: List custom attribute definitions
      description: |-
        List custom attribute definitions for an organisation.
            If module is provided, returns definitions for that specific module.
            If business_entity_id is provided, returns org defaults with business entity overrides.
            Business entity overrides take precedence over org defaults for the same attribute.
      operationId: List-custom-attribute-definitions
      parameters:
        - name: module
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/ModuleEnum'
              - type: 'null'
            title: Module
        - name: business_entity_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Business Entity Id
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            examples:
              - name=john
            title: Search
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              The cursor indicating a unique set of results - this should be
              auto generated and you get it from the `next` and `previous`
              fields of the response
            examples:
              - V2VsbCBhcmV1IGN1cmlvdxM=
            title: Cursor
          description: >-
            The cursor indicating a unique set of results - this should be auto
            generated and you get it from the `next` and `previous` fields of
            the response
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 9999
            minimum: 1
            description: The number of results to return - defaults to 10
            examples:
              - 10
            default: 10
            title: Limit
          description: The number of results to return - defaults to 10
        - name: order
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Sort by field with - prefix for descending (e.g. -created_at,
              +display_name). Valid fields: id, attribute_key_name,
              display_name, data_type, is_tag, is_enabled, is_required,
              sort_order, created_at, updated_at
            default: '-created_at'
            title: Order
          description: >-
            Sort by field with - prefix for descending (e.g. -created_at,
            +display_name). Valid fields: id, attribute_key_name, display_name,
            data_type, is_tag, is_enabled, is_required, sort_order, created_at,
            updated_at
        - name: is_tag
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Is Tag
        - name: data_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/DataTypeEnum'
              - type: 'null'
            title: Data Type
        - name: attribute_key_name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Attribute Key Name
        - name: display_name__ilike
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Display Name  Ilike
        - name: is_enabled
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Is Enabled
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResults'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    ModuleEnum:
      type: string
      enum:
        - customers
        - products
        - contracts
        - plans
        - invoices
        - payments
      title: ModuleEnum
    DataTypeEnum:
      type: string
      enum:
        - STRING
        - INTEGER
        - FLOAT
        - BOOLEAN
        - LIST_STRING
        - ENUM
        - JSON
        - DATE
      title: DataTypeEnum
    PaginatedResults:
      properties:
        next:
          anyOf:
            - type: string
            - type: 'null'
          title: Next
          description: The cursor for the next page of results
          examples:
            - V2VsbCBhcmV1IGN1cmlvdxM=
        previous:
          anyOf:
            - type: string
            - type: 'null'
          title: Previous
          description: The cursor for the previous page of results
          examples:
            - GmBsbCBhcmV1IGN1cmlvdxM=
        total_count:
          anyOf:
            - type: integer
            - type: 'null'
          title: Total Count
          description: The total count of rows
        results:
          items: {}
          type: array
          title: Results
          description: The results for the current page
      type: object
      required:
        - results
      title: PaginatedResults
      description: |-
        results: The results of the query of size limit
        next: The cursor to use to get the next set of results
        previous: The cursor to use to get the previous set of results
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiTokenAuth:
      type: apiKey
      in: header
      name: x-api-key
      x-default: <your-api-key>
    OrganisationAuth:
      type: apiKey
      in: header
      name: organisation
      x-default: <your-organisation-id>

````