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

# List contact properties

> Returns the custom contact properties defined in the workspace, so an integration can offer them as fields on contact actions.



## OpenAPI

````yaml developer/api-reference/openapi.json GET /integrations/developer/zapier/contact-properties
openapi: 3.1.0
info:
  contact:
    email: support@messagedesk.com
    name: MessageDesk Support
    url: https://messagedesk.com
  description: >-
    The MessageDesk Developer API. Integration providers use it to read and
    write a workspace on a user's behalf. Zapier is the only supported provider
    today; endpoints are namespaced by provider under
    `/integrations/developer/{provider}`.
  title: MessageDesk API
  version: '1.0'
servers:
  - description: Production
    url: https://c3uezq47el.execute-api.us-west-2.amazonaws.com/main
security: []
tags:
  - description: >-
      Read-only lookups an integration uses while a user configures it: the
      workspaces they belong to, and the users, phone numbers and contact
      properties in a workspace.
    name: Context lookups
  - description: >-
      Write operations an integration performs on behalf of a user. Every
      request body carries the target workspace as `id` and names the calling
      provider in `developerProvider`.
    name: Actions
  - description: >-
      Event subscriptions for instant triggers, plus sample-data endpoints that
      return a workspace's most recent records (or generated placeholders when
      it has none) in exactly the shape the matching webhook delivers.
    name: Triggers
externalDocs:
  description: ''
  url: ''
paths:
  /integrations/developer/zapier/contact-properties:
    get:
      tags:
        - Context lookups
      summary: List contact properties
      description: >-
        Returns the custom contact properties defined in the workspace, so an
        integration can offer them as fields on contact actions.
      operationId: listContactProperties
      parameters:
        - description: Workspace ID
          in: query
          name: workspaceId
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: >-
                    #/components/schemas/developer.DeveloperProviderContactCustomPropertiesResponse
                type: array
          description: OK
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/openapi.ErrorResponse'
          description: Missing or invalid bearer token
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/openapi.ErrorResponse'
          description: The authenticated user is not a member of the workspace
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/openapi.ErrorResponse'
          description: Workspace or referenced record not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/openapi.ErrorResponse'
          description: Internal Server Error
      security:
        - BearerAuth: []
components:
  schemas:
    developer.DeveloperProviderContactCustomPropertiesResponse:
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
      type: object
    openapi.ErrorResponse:
      properties:
        error:
          description: Human-readable description of the failure
          example: workspace not found
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: >-
        An OAuth 2.0 access token, sent as `Authorization: Bearer <token>`.
        MessageDesk is the OAuth 2.0 provider (backed by AWS Cognito): an
        integration such as Zapier obtains the token through the
        authorization-code flow when a user connects their MessageDesk account.
        Access tokens are valid for 24 hours and are refreshed with the refresh
        token.
      scheme: bearer
      type: http

````