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

# Search booking entities (actors)

> Returns booking entities ("actors") — one card per provider/location group of the matching slots, with the group's total slot count and soonest availability, paginated by card. Each card's opaque `key` drills down to that entity's individual slots via `GET /v1/scheduling/slots?actorKey=<key>`. Same filter contract as `/slots`. Requires a valid API key.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/scheduling/actors
openapi: 3.1.0
info:
  title: haau3 Platform API
  version: 1.0.0
  description: >-
    The haau3 platform API (non-PHI). Endpoints require a free API key — send it
    as `Authorization: Bearer <key>`. Requests without a valid key return 401.
    Create a key in the dashboard at https://platform.haau3.com.
servers:
  - url: https://api.haau3.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Scheduling
    description: Provider availability (SMART Scheduling Links) — slots and publishers.
  - name: Terminology
    description: FHIR terminology operations — CodeSystem lookups against LOINC.
paths:
  /v1/scheduling/actors:
    get:
      tags:
        - Scheduling
      summary: Search booking entities (actors)
      description: >-
        Returns booking entities ("actors") — one card per provider/location
        group of the matching slots, with the group's total slot count and
        soonest availability, paginated by card. Each card's opaque `key` drills
        down to that entity's individual slots via `GET
        /v1/scheduling/slots?actorKey=<key>`. Same filter contract as `/slots`.
        Requires a valid API key.
      operationId: searchActors
      parameters:
        - name: status
          in: query
          required: false
          description: Slot availability state to return. Defaults to `free`.
          schema:
            default: free
            type: string
            enum:
              - free
              - busy
              - busy-unavailable
              - busy-tentative
        - name: publisher
          in: query
          required: false
          description: >-
            Filter to a single publisher (source) by slug — e.g. `zocdoc`,
            `defacto`. See `GET /v1/scheduling/publishers` for the available
            slugs.
          schema:
            type: string
            minLength: 1
        - name: serviceTypeCode
          in: query
          required: false
          description: Filter by service type code (as published by the source).
          schema:
            type: string
            minLength: 1
        - name: appointmentType
          in: query
          required: false
          description: Filter by appointment type.
          schema:
            type: string
            minLength: 1
        - name: acceptingPatients
          in: query
          required: false
          description: >-
            Filter to slots accepting patients of this kind (HL7
            `accepting-patients` CodeSystem: `newpt` | `existptonly` |
            `existptfam`). Slots marked `nopt` (not accepting patients) are
            never served, so `nopt` is not a valid filter value. Lenient: a slot
            that does not declare an accepting-patients code matches any value
            (absence never hides a slot); a slot that declares one must equal
            the requested value.
          schema:
            type: string
            enum:
              - newpt
              - existptonly
              - existptfam
        - name: isVirtual
          in: query
          required: false
          description: Filter to virtual (`true`) or in-person (`false`) slots.
          schema:
            type: boolean
        - name: city
          in: query
          required: false
          description: Filter by the location's city.
          schema:
            type: string
            minLength: 1
        - name: state
          in: query
          required: false
          description: Filter by the location's state.
          schema:
            type: string
            minLength: 1
        - name: startAfter
          in: query
          required: false
          description: Only slots starting at or after this ISO 8601 instant (with offset).
          schema:
            type: string
            format: date-time
        - name: startBefore
          in: query
          required: false
          description: >-
            Only slots starting at or before this ISO 8601 instant (with
            offset).
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          required: false
          description: Page size — number of actor cards (1–100). Defaults to 25.
          schema:
            default: 25
            type: integer
            minimum: 1
            maximum: 100
        - name: offset
          in: query
          required: false
          description: Number of actor cards to skip for pagination. Defaults to 0.
          schema:
            default: 0
            type: integer
            minimum: 0
            maximum: 9007199254740991
      responses:
        '200':
          description: Matching booking entities and the total pre-pagination group count.
          content:
            application/json:
              schema:
                type: object
                properties:
                  actors:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        publisher:
                          type: string
                        provider:
                          type: object
                          properties:
                            id:
                              type: string
                            identifier:
                              type: array
                              items:
                                type: object
                                properties:
                                  system:
                                    type: string
                                  value:
                                    type: string
                                required:
                                  - value
                                additionalProperties: false
                            type:
                              type: string
                              enum:
                                - practitioner
                                - practitioner-role
                                - healthcare-service
                            name:
                              type: string
                            specialty:
                              type: string
                            npi:
                              type: string
                          additionalProperties: false
                        location:
                          type: object
                          properties:
                            id:
                              type: string
                            identifier:
                              type: array
                              items:
                                type: object
                                properties:
                                  system:
                                    type: string
                                  value:
                                    type: string
                                required:
                                  - value
                                additionalProperties: false
                            name:
                              type: string
                            phone:
                              type: array
                              items:
                                type: string
                            website:
                              type: array
                              items:
                                type: string
                            addressLine:
                              type: array
                              items:
                                type: string
                            city:
                              type: string
                            state:
                              type: string
                            postalCode:
                              type: string
                          additionalProperties: false
                        serviceTypes:
                          type: array
                          items:
                            type: object
                            properties:
                              code:
                                type: string
                              display:
                                type: string
                            additionalProperties: false
                        bookingMethod:
                          type: string
                          enum:
                            - online
                            - phone
                            - contact
                        isVirtual:
                          type: boolean
                        acceptingPatients:
                          type: string
                          enum:
                            - nopt
                            - newpt
                            - existptonly
                            - existptfam
                        nextAvailableStart:
                          type: string
                          format: date-time
                        totalSlots:
                          type: integer
                          minimum: 0
                          maximum: 9007199254740991
                      required:
                        - key
                        - publisher
                        - serviceTypes
                        - bookingMethod
                        - totalSlots
                      additionalProperties: false
                  total:
                    type: integer
                    minimum: 0
                    maximum: 9007199254740991
                required:
                  - actors
                  - total
                additionalProperties: false
        '400':
          description: Invalid query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthError'
components:
  schemas:
    ValidationError:
      type: object
      properties:
        error:
          type: string
          examples:
            - Invalid query parameters
        issues:
          type: array
          items:
            type: object
            additionalProperties: true
      required:
        - error
        - issues
    AuthError:
      type: object
      properties:
        error:
          type: string
          examples:
            - API key required
        message:
          type: string
      required:
        - error
        - message
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your platform API key (`haau3_sk_…`), sent as `Authorization: Bearer
        <key>`.

````