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

# Find contacts

> Find contacts within the authorized practices. For caller recognition, provide the inbound caller's phone number.



## OpenAPI

````yaml /openapi/peerlogic-api.json get /api/care/contacts/
openapi: 3.1.0
info:
  title: Peerlogic API
  version: 1.0.0
  description: >-
    Customer-facing API reference for accessing Peerlogic calls, insights,
    conversations, tasks, opportunities, subscriptions, and events.
servers:
  - url: https://api.prod.peerlogic.com
    description: Production
security: []
tags:
  - name: Authentication
    description: Obtain an access token for authenticated API requests.
  - name: Call insights
    description: Call records and aggregate performance insights.
  - name: Transcripts
    description: Transcripts, summaries, sentiment, pauses, and call-purpose details.
  - name: Aimee
    description: Aimee activity, configuration, and performance insights.
  - name: Conversations
    description: Conversation records, messages, and conversation actions.
  - name: Tasks
    description: Customer tasks and task workflow actions.
  - name: Opportunities
    description: Opportunities and follow-up reporting.
  - name: Subscriptions and events
    description: >-
      Create and manage event subscriptions, then inspect event records and
      analytics. For the complete webhook delivery flow, see the Webhooks and
      subscriptions guide.
  - name: Organizations and practices
    description: >-
      Discover the organizations and practices available to the authenticated
      account.
  - name: Contacts and patients
    description: Find contacts and patients for caller recognition and related workflows.
  - name: Appointments
    description: Retrieve appointment history and upcoming appointments for a patient.
  - name: Messaging
    description: Send practice messages, including missed-call recovery outreach.
  - name: Call recordings
    description: Retrieve recording metadata and secure audio URLs for calls.
paths:
  /api/care/contacts/:
    get:
      tags:
        - Contacts and patients
      summary: Find contacts
      description: >-
        Find contacts within the authorized practices. For caller recognition,
        provide the inbound caller's phone number.
      operationId: care_contacts_list
      parameters:
        - name: practice_ids
          in: query
          description: One or more practice IDs to search.
          required: true
          schema:
            type: array
            items:
              type: string
        - name: phone_number
          in: query
          description: Caller phone number in E.164 format.
          required: false
          schema:
            type: string
          example: '+15105550123'
        - name: search
          in: query
          description: Search by contact name, phone number, or email address.
          required: false
          schema:
            type: string
        - name: ordering
          in: query
          description: Result ordering.
          required: false
          schema:
            type: string
            enum:
              - recent_message
              - unread_message
              - relevance
            default: recent_message
        - name: id
          in: query
          description: Limit results to one or more contact IDs.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: has_patient_link
          in: query
          description: Limit results based on whether the contact is linked to a patient.
          required: false
          schema:
            type: boolean
        - name: next_appointment_at__gte
          in: query
          description: >-
            Return contacts whose next appointment is at or after this
            timestamp.
          required: false
          schema:
            type: string
            format: date-time
        - name: next_appointment_at__lte
          in: query
          description: >-
            Return contacts whose next appointment is at or before this
            timestamp.
          required: false
          schema:
            type: string
            format: date-time
        - name: page
          in: query
          description: Page number.
          required: false
          schema:
            type: integer
            minimum: 1
        - name: page_size
          in: query
          description: Number of records to return per page.
          required: false
          schema:
            type: integer
            minimum: 1
      responses:
        '200':
          description: Paginated matching contacts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPracticeContacts'
        '400':
          description: The request parameters or body are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
              example:
                practice_id:
                  - This field is required.
        '401':
          description: Authentication is required.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
              example:
                detail: '''Authorization'' header is required'
        '403':
          description: >-
            The authenticated user does not have access to the requested
            practice or resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PermissionError'
              example:
                message: No permissions assigned to permit access to this endpoint.
        '422':
          description: >-
            The connected practice-management system could not fulfill the
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpstreamIntegrationError'
              example:
                error: >-
                  The connected practice-management system could not fulfill the
                  request.
      security:
        - bearerAuth: []
components:
  schemas:
    PaginatedPracticeContacts:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          description: Total number of matching records.
        next:
          type:
            - string
            - 'null'
          format: uri
          description: URL for the next page, when available.
        previous:
          type:
            - string
            - 'null'
          format: uri
          description: URL for the previous page, when available.
        results:
          type: array
          items:
            $ref: '#/components/schemas/PracticeContactSummary'
    ValidationError:
      title: Validation error
      type: object
      additionalProperties: true
      description: Validation details keyed by the invalid field or grouped under `errors`.
    AuthenticationError:
      title: Authentication error
      type: object
      additionalProperties: true
      required:
        - detail
      properties:
        detail:
          type: string
          description: Why authentication failed.
    PermissionError:
      title: Permission error
      type: object
      additionalProperties: false
      required:
        - message
      properties:
        message:
          type: string
          description: Why access was denied.
    UpstreamIntegrationError:
      title: Upstream integration error
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          type: string
          description: Why the connected system could not complete the request.
        code:
          type: string
          description: Stable machine-readable error code, when one is available.
    PracticeContactSummary:
      type: object
      properties:
        id:
          title: Id
          type: string
          readOnly: true
          minLength: 1
        created_at:
          title: Created at
          type: string
          format: date-time
          readOnly: true
        name:
          title: Name
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        name_first:
          title: Name first
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        name_last:
          title: Name last
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        name_middle:
          title: Name middle
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        name_preferred:
          title: Name preferred
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        organization:
          title: Organization
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        title:
          title: Title
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        email:
          title: Email
          type:
            - string
            - 'null'
          format: email
          readOnly: true
          minLength: 1
        phone_numbers:
          type: array
          items:
            type: object
            properties:
              id:
                title: Id
                type: string
                readOnly: true
                minLength: 1
              phone_number:
                title: Phone number
                type: string
                readOnly: true
                minLength: 1
              source_type:
                title: Source type
                type: string
                enum:
                  - call
                  - message
                  - patient
                  - fax
                  - import
                readOnly: true
              sip_caller_name:
                title: Sip caller name
                type:
                  - string
                  - 'null'
                readOnly: true
                minLength: 1
              is_primary_contact:
                title: Is primary contact
                type: boolean
                readOnly: true
              phone_number_type:
                title: Phone number type
                type: string
                enum:
                  - home
                  - work
                  - mobile
                  - fax
                  - other
                readOnly: true
          readOnly: true
        patients:
          title: Patients
          type: string
          readOnly: true
        latest_conversation_id:
          title: Latest conversation id
          type: string
          readOnly: true
        latest_conversation_type:
          title: Latest conversation type
          type: string
          readOnly: true
        latest_message:
          title: Latest message
          type: string
          readOnly: true
        latest_message_time:
          title: Latest message time
          type: string
          readOnly: true
        latest_unread_message:
          title: Latest unread message
          type: string
          readOnly: true
        latest_unread_message_time:
          title: Latest unread message time
          type: string
          readOnly: true
        unread_message_count:
          title: Unread message count
          type: string
          readOnly: true
        most_recent_task:
          title: Most recent task
          type: string
          readOnly: true
        address_line_1:
          title: Address line 1
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        address_line_2:
          title: Address line 2
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        address_city:
          title: Address city
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        address_state:
          title: Address state
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        zip_code:
          title: Zip code
          type:
            - string
            - 'null'
          readOnly: true
          minLength: 1
        date_of_birth:
          title: Date of birth
          type:
            - string
            - 'null'
          format: date
          readOnly: true
        gender:
          title: Gender
          type:
            - string
            - 'null'
          enum:
            - male
            - female
          readOnly: true
        manually_edited_fields:
          title: Manually edited fields
          description: >-
            List of field names manually edited by a user. These fields are
            protected from automatic overwrites during patient sync and contact
            import.
          type: string
          readOnly: true
        is_editable:
          title: Is editable
          type: string
          readOnly: true
        is_deletable:
          title: Is deletable
          type: string
          readOnly: true
        has_patient_link:
          title: Has patient link
          type: boolean
          readOnly: true
        next_appointment_at:
          title: Next appointment at
          type: string
          readOnly: true
        next_appointment:
          title: Next appointment
          type: string
          readOnly: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer access token issued by Peerlogic.

````

## Related topics

- [Find patients](/peerlogic-api-reference/contacts-and-patients/find-patients.md)
- [Peerlogic Help Center](/help-center.md)
- [Peerlogic Voice](/peerlogic-voice.md)
- [Allow Peerlogic support email](/general-help/email-delivery/allow-peerlogic-email.md)
- [Get contact](/peerlogic-api-reference/contacts-and-patients/get-contact.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.