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

# List booking services

> **Beta** — this endpoint may change before general availability.



## OpenAPI

````yaml /api-reference/openapi.json get /booking-services
openapi: 3.1.0
info:
  title: Replo Public API
  version: '2026-11-10'
servers:
  - url: https://api.replo.app/v1
security: []
paths:
  /booking-services:
    get:
      tags:
        - Booking-services
      summary: List booking services
      description: '**Beta** — this endpoint may change before general availability.'
      operationId: booking-services.list
      parameters:
        - name: Replo-Api-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2026-11-10'
          description: The public API version to use for this request.
        - schema:
            type: string
            format: uuid
            description: The project that owns the forms, from list_projects
          required: true
          description: The project that owns the forms, from list_projects
          name: projectId
          in: query
      responses:
        '200':
          description: List booking services
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    enum:
                      - list
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        object:
                          type: string
                          enum:
                            - booking_service
                        id:
                          type: string
                          format: uuid
                        projectId:
                          type: string
                          format: uuid
                        key:
                          type: string
                        name:
                          type: string
                        description:
                          type:
                            - string
                            - 'null'
                        location:
                          type:
                            - string
                            - 'null'
                        durationMinutes:
                          type: integer
                        slotIntervalMinutes:
                          type: integer
                          description: Minutes between start times offered to visitors
                        capacity:
                          type: integer
                          description: People one staff member or table takes at once
                        bufferMinutes:
                          type: integer
                          description: Free minutes kept after each booking
                        minimumNoticeMinutes:
                          type: integer
                          description: How soon before the start a visitor can still book
                        bookingWindowDays:
                          type: integer
                          description: How far ahead visitors can book
                        reminderHoursBefore:
                          type:
                            - integer
                            - 'null'
                          description: >-
                            Hours before the start the reminder goes out; null
                            sends none
                        addOns:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                pattern: ^[a-z0-9][a-z0-9-]{0,63}$
                              name:
                                type: string
                                minLength: 1
                                maxLength: 255
                              minutes:
                                type: integer
                                minimum: 0
                                maximum: 720
                                description: Added to the booking's length
                            required:
                              - key
                              - name
                              - minutes
                        createsMeetLink:
                          type: boolean
                          description: >-
                            Adds a Google Meet link when the staff member has a
                            calendar to write events to
                        staff:
                          type: array
                          items:
                            type: object
                            properties:
                              object:
                                type: string
                                enum:
                                  - booking_staff
                              id:
                                type: string
                                format: uuid
                              serviceId:
                                type: string
                                format: uuid
                              scheduleId:
                                type: string
                                format: uuid
                              name:
                                type: string
                              kind:
                                type: string
                                enum:
                                  - person
                                  - resource
                                description: >-
                                  person: a teammate; resource: a table, bay or
                                  room
                              weight:
                                type: integer
                                minimum: 1
                                maximum: 100
                                description: >-
                                  Share of bookings when the visitor doesn't
                                  pick: a host with weight 2 gets about twice as
                                  many as one with weight 1
                            required:
                              - object
                              - id
                              - serviceId
                              - scheduleId
                              - name
                              - kind
                              - weight
                      required:
                        - object
                        - id
                        - projectId
                        - key
                        - name
                        - description
                        - location
                        - durationMinutes
                        - slotIntervalMinutes
                        - capacity
                        - bufferMinutes
                        - minimumNoticeMinutes
                        - bookingWindowDays
                        - reminderHoursBefore
                        - addOns
                        - createsMeetLink
                        - staff
                  has_more:
                    type: boolean
                  next_cursor:
                    type:
                      - string
                      - 'null'
                required:
                  - object
                  - data
                  - has_more
                  - next_cursor
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '401':
          description: >-
            Missing or invalid Replo Public API token. Send an active key as
            `Authorization: Bearer replo_sk_...`; if it was revoked, create a
            new key in Replo Settings.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '403':
          description: >-
            You are not authorized to access this resource. Ask a workspace
            owner to perform this action or to grant the key's creator access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '404':
          description: >-
            Not Found. The resource may not exist, this key may lack the
            required scope, or the key's creator may have lost access. Check the
            key's scopes in Replo Settings and the creator's project or
            workspace access; a workspace owner can grant access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '409':
          description: The resource is in a conflicting state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '413':
          description: File content exceeds the 10 MiB limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '429':
          description: >-
            Too many requests. Please retry after the time indicated by the
            Retry-After header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '500':
          description: An internal error occurred.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
        '503':
          description: Service temporarily unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiError'
      security:
        - bearerAuth: []
components:
  schemas:
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            doc_url:
              type: string
            issues:
              type: array
              items:
                type: object
                properties:
                  param:
                    type:
                      - string
                      - 'null'
                    description: >-
                      Dotted path to the failing field within the request body,
                      query or path, e.g. "name" or "variants.0.available"; null
                      when the rule covers the whole input.
                  message:
                    type: string
                    description: Why the field was rejected.
                required:
                  - param
                  - message
              description: >-
                Present on an invalid_request whose input failed validation:
                each failing field and why, at most 10.
          required:
            - code
            - message
            - doc_url
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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