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

# List client custom properties

> List the custom properties defined for clients of the partner the API key belongs to. Use it to resolve the ids that `customProperties` is keyed by on the other endpoints: the id is stable, while the display name can be renamed at any time. The full list is returned in one response — it is not paginated. Properties restricted to specific user groups are not listed, since an API key has no user whose groups could be checked. Requires the `client:read` scope.



## OpenAPI

````yaml /openapi.yaml get /v1/client/custom-property
openapi: 3.1.0
info:
  title: ProVision Public API
  version: 1.0.0
  description: >-
    Use the ProVision Public API to integrate with ProVision conversations,
    clients, users, and addresses. All endpoints accept and return JSON, are
    authenticated with an `x-api-key` header, and are scoped to a single partner
    tenant.
  contact:
    email: support@onevisionresources.com
    name: OneVision Resources Support
  license:
    name: Proprietary
servers:
  - url: https://connect.provisionapp.io
    description: Production
security: []
paths:
  /v1/client/custom-property:
    get:
      tags:
        - client
      summary: List client custom properties
      description: >-
        List the custom properties defined for clients of the partner the API
        key belongs to. Use it to resolve the ids that `customProperties` is
        keyed by on the other endpoints: the id is stable, while the display
        name can be renamed at any time. The full list is returned in one
        response — it is not paginated. Properties restricted to specific user
        groups are not listed, since an API key has no user whose groups could
        be checked. Requires the `client:read` scope.
      operationId: listClientCustomProperties
      responses:
        '200':
          description: Custom properties defined for clients
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomProperty'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - OpenApiKeyAuth: []
components:
  schemas:
    CustomProperty:
      type: object
      properties:
        id:
          type: string
          description: >-
            Stable id of the property. This is what `customProperties` is keyed
            by on reads and writes — the display name can be renamed, this
            cannot.
          example: ca_warranty_count
        entity:
          $ref: '#/components/schemas/CustomPropertyEntity'
        name:
          type: string
          description: Display name, as configured in ProVision
          example: Warranty count
        type:
          type: string
          description: Value type the property accepts
          example: number
        options:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Value to send for this option
                example: east
              name:
                type: string
                description: Option label as configured
                example: East
            required:
              - id
              - name
          description: >-
            Selectable options for `dropdown` and `multi_select`; empty for
            every other type
      required:
        - id
        - entity
        - name
        - type
        - options
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - error
    CustomPropertyEntity:
      type: string
      enum:
        - site
        - conversation
        - client
      description: The entity a custom property is defined for
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: NOT_FOUND
        message:
          type: string
          description: Human-readable error description
      required:
        - code
        - message
  securitySchemes:
    OpenApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Send the API key in the x-api-key header.

````