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

# List CRM People

> List CRM person records in a workspace with the Zeeg CRM API, returning paginated, sortable results that include each contact's custom attributes

Returns a paginated list of CRM person records in your workspace.

Results are sorted by `created_at` ascending by default. Use `sortBy` and `sortOrder` to change the sort.

<Note>
  Custom attributes defined on the people object are included in each record under `customAttributes`.
</Note>


## OpenAPI

````yaml GET /crm/people
openapi: 3.0.0
info:
  title: Zeeg Public API
  description: >-
    Zeeg public API documentation.


    ## Authentication

    All endpoints require a Bearer token. You can generate an API token from
    [your Zeeg dashboard](https://app.zeeg.me/account/settings/api-access).


    Each token is scoped to specific permissions (e.g. `events:read`,
    `webhooks:write`). Make sure your token has the required scopes for the
    endpoints you want to use.


    ## Recommended Headers

    We recommend including the `Accept: application/json` header in all API
    requests to ensure you receive JSON responses.
  version: 2.0.0
  x-logo:
    url: https://app.zeeg.me/img/logo-dark.2ca83593.svg
    backgroundColor: '#f7f7f9'
    altText: zeeg
  contact:
    name: Zeeg Support
    email: support@zeeg.me
    url: https://zeeg.me/en/contact
  license:
    name: Proprietary
    url: https://zeeg.me/en/legal/terms
  termsOfService: https://zeeg.me/en/legal/terms
servers:
  - url: https://api.zeeg.me/v2
    description: Production
security:
  - bearer: []
tags:
  - name: Scheduled Events
    description: Management of events scheduled via Zeeg
  - name: Scheduling Pages
    description: Scheduling pages information and management
  - name: Availability Schedule
    description: Read and change availability for users
  - name: Webhooks
    description: Webhooks management
  - name: Notes
    description: Notes for scheduled events
  - name: Workspaces & Teams
    description: Workspace users and team member management
  - name: AI Agent
    description: AI Agent integration endpoints
  - name: Payloads
    description: Webhook payload schemas
  - name: CRM - Objects
    description: >-
      Discover the schema of CRM objects (standard and custom) including all
      attribute definitions
  - name: CRM - Companies
    description: Create, read, update, and delete CRM company records
  - name: CRM - People
    description: Create, read, update, and delete CRM person records
paths:
  /crm/people:
    get:
      tags:
        - CRM - People
      summary: List CRM people
      description: |-
        Returns a paginated list of CRM person records in your workspace.

        **Required scope:** `crm:read` or `crm:write`
      operationId: get-crm-people
      parameters:
        - schema:
            type: integer
            default: 1
            minimum: 1
          in: query
          name: page
          description: Page number.
        - name: perPage
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
          description: Number of records per page.
        - name: sortBy
          in: query
          schema:
            type: string
            default: created_at
          description: Field to sort by.
        - name: sortOrder
          in: query
          schema:
            type: string
            default: asc
            enum:
              - asc
              - desc
          description: Sort direction.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  status:
                    type: integer
                    example: 200
                  data:
                    type: object
                    properties:
                      pagination:
                        type: object
                        properties:
                          totalItems:
                            type: integer
                          perPage:
                            type: integer
                          currentPage:
                            type: integer
                          lastPage:
                            type: integer
                          hasPreviousPage:
                            type: boolean
                          hasNextPage:
                            type: boolean
                      people:
                        type: array
                        items:
                          $ref: '#/components/schemas/CrmPerson'
              examples:
                Success:
                  value:
                    success: true
                    status: 200
                    data:
                      pagination:
                        totalItems: 1
                        perPage: 10
                        currentPage: 1
                        lastPage: 1
                        hasPreviousPage: false
                        hasNextPage: false
                      people:
                        - id: b2c3d4e5-f6a7-8901-bcde-f23456789012
                          firstName: Jane
                          lastName: Doe
                          salutation: null
                          emails:
                            - jane.doe@acme.com
                          jobTitle: Head of Product
                          description: null
                          phoneNumber: null
                          primaryLocation: null
                          avatarUrl: null
                          company: null
                          socials:
                            linkedin: null
                            twitter: null
                            facebook: null
                            instagram: null
                          customAttributes: {}
                          createdAt: '2025-01-15T09:00:00+00:00'
                          updatedAt: '2025-01-15T09:00:00+00:00'
        '401':
          $ref: '#/components/responses/401'
        '403':
          description: Forbidden — missing scope or CRM not enabled
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  status:
                    type: integer
      security:
        - bearer: []
components:
  schemas:
    CrmPerson:
      type: object
      description: A CRM person record.
      required:
        - id
        - firstName
        - lastName
        - salutation
        - emails
        - jobTitle
        - description
        - phoneNumber
        - primaryLocation
        - avatarUrl
        - company
        - socials
        - customAttributes
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the person record.
          example: b2c3d4e5-f6a7-8901-bcde-f23456789012
        firstName:
          type: string
          nullable: true
          description: First name.
          example: Jane
        lastName:
          type: string
          nullable: true
          description: Last name.
          example: Doe
        salutation:
          type: string
          nullable: true
          description: Salutation or title (e.g. Mr, Ms, Dr).
          example: Ms
        emails:
          type: array
          description: List of email addresses. The first entry is the primary email.
          items:
            type: string
            format: email
          example:
            - jane.doe@acme.com
        jobTitle:
          type: string
          nullable: true
          description: Job title or role.
          example: Head of Product
        description:
          type: string
          nullable: true
          description: Free-text description or notes about the person.
          example: Key decision-maker at Acme Corp.
        phoneNumber:
          type: string
          nullable: true
          description: Primary phone number.
          example: '+4930123456789'
        primaryLocation:
          type: string
          nullable: true
          description: Primary location or city.
          example: Berlin, Germany
        avatarUrl:
          type: string
          nullable: true
          description: URL of the person's avatar image.
          example: null
        company:
          type: object
          nullable: true
          description: The company this person is associated with, if any.
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
              nullable: true
            domain:
              type: string
              nullable: true
        socials:
          type: object
          description: Social profile links.
          properties:
            linkedin:
              type: string
              nullable: true
              example: https://linkedin.com/in/janedoe
            twitter:
              type: string
              nullable: true
              example: null
            facebook:
              type: string
              nullable: true
              example: null
            instagram:
              type: string
              nullable: true
              example: null
        customAttributes:
          type: object
          description: Key/value pairs for custom attributes defined on the people object.
          additionalProperties: true
          example: {}
        createdAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the record was created.
          example: '2025-01-15T09:00:00+00:00'
        updatedAt:
          type: string
          format: date-time
          description: ISO 8601 timestamp when the record was last updated.
          example: '2025-06-01T12:00:00+00:00'
  responses:
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthenticated.
          examples:
            Unauthenticated:
              value:
                message: Unauthenticated.
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: ''

````