Brickwork Admin Appointments API

The Admin Appointments API from Brickwork — 4 operation(s) for admin appointments.

OpenAPI Specification

brickwork-admin-appointments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Brickwork Admin Appointments API
  version: v3
  description: Brickwork (now part of DevHub) omnichannel retail platform API v3. Powers store pages, store locators, appointments, events, RSVPs, in-store services, customers, and local store content for physical retail. Admin endpoints are authenticated with an api_key; front-end store endpoints surface public store, service, and event data. Derived from the provider-published apiDoc reference at production.brickworksoftware.com/api_docs.
  contact:
    name: Brickwork / DevHub
    url: https://www.devhub.com/
  x-apievangelist:
    generated: '2026-07-18'
    method: searched
    source: https://production.brickworksoftware.com/api_docs/ (apiDoc api_data.json)
servers:
- url: https://production.brickworksoftware.com
  description: Production
tags:
- name: Admin Appointments
paths:
  /{locale}/api/v3/admin/appointments:
    get:
      summary: List all Appointments
      operationId: GetLocaleApiV3AdminAppointments
      tags:
      - Admin Appointments
      description: 'Example: `http://company.com/api/v3/admin/appointments?query[start_date]=2016-05-28&query[filter_start_time]=true`'
      parameters:
      - name: locale
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
        description: Page number of your query
      - name: query
        in: query
        required: false
        schema:
          type: object
        description: Query parameters for all company appointments
      - name: query[filter_start_time]
        in: query
        required: false
        schema:
          type: boolean
        description: When true, it will filter and order all appointments by their start time, by default it will filter by created date
      - name: query[start_date]
        in: query
        required: false
        schema:
          type: string
        description: Store appointments select start date "YYYY-MM-DD", defaults to 30 days back, if query[filter_start_time]=true it is set to today's date
      - name: query[end_date]
        in: query
        required: false
        schema:
          type: string
        description: Store appointments select end date "YYYY-MM-DD", defaults to today, if query[filter_start_time]=true it is set to 30 days ahead
      - name: query[utc_offset]
        in: query
        required: false
        schema:
          type: string
        description: Store appointments select date timezone, defaults to +0000 "-1", "-0100", "-01:00". Be sure to encode positive utc_offsets - Encoding for a "+" is "%2B"
      - name: query[store_ids]
        in: query
        required: false
        schema:
          type: array
        description: Filter appointments by store ids [1,2,3]
      - name: query[service_ids]
        in: query
        required: false
        schema:
          type: array
        description: Filter appointments by service ids [1,2,3]
      - name: query[associate_ids]
        in: query
        required: false
        schema:
          type: array
        description: Filter appointments by associates [1,2,3]
      - name: query[state]
        in: query
        required: false
        schema:
          type: string
        description: Filter appointments by state new, customer_requested, confirmed, reassigned, canceled, checked_in, no_show, occured
      - name: query[code]
        in: query
        required: false
        schema:
          type: array
        description: Filter appointments by code ['code1','code2','code3']
      - name: query[associate_codes]
        in: query
        required: false
        schema:
          type: array
        description: Filter appointments by associate codes ['code1','code2','code3']
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointments:
                    type: array
                    items:
                      type: object
                    description: Array of Appointment Objects
      security:
      - apiKeyAuth: []
  /{locale}/api/v3/admin/stores/{store_id_or_number}/appointments:
    get:
      summary: List Store Appointments
      operationId: GetLocaleApiV3AdminStoresStore_id_or_numberAppointments
      tags:
      - Admin Appointments
      description: 'Example: `http://company.com/api/v3/admin/stores/:store_id/appointments?query[state]=confirmed`


        Example: `http://company.com/api/v3/stores/:store_id/appointments`


        Example: `http://company.com/api/v3/stores/:store_number/appointments?store_number=true`'
      parameters:
      - name: store_id_or_number
        in: path
        required: true
        schema:
          type: string
      - name: locale
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        schema:
          type: integer
        description: Page number of your query
      - name: query
        in: query
        required: false
        schema:
          type: object
        description: Query parameters for all stores appointments
      - name: query[service_ids]
        in: query
        required: false
        schema:
          type: array
        description: Filter store appointments by store service ids [1,2,3]
      - name: query[associate_ids]
        in: query
        required: false
        schema:
          type: array
        description: Filter store appointments by associates [1,2,3]
      - name: query[state]
        in: query
        required: false
        schema:
          type: string
        description: Filter store appointments by state new, customer_requested, confirmed, reassigned, canceled, checked_in, no_show, occured
      - name: query[code]
        in: query
        required: false
        schema:
          type: array
        description: Filter store appointments by code ['code1','code2','code3']
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointments:
                    type: array
                    items:
                      type: object
                    description: Array of Appointment Objects
      security:
      - apiKeyAuth: []
  /{locale}/api/v3/admin/stores/{store_id_or_number}/appointments/{id_or_code}:
    get:
      summary: Show Appointment
      operationId: GetLocaleApiV3AdminStoresStore_id_or_numberAppointmentsId_or_code
      tags:
      - Admin Appointments
      description: 'Example: `http://company.com/api/v3/stores/:store_id/appointments/:id_or_code`


        Example: `http://company.com/api/v3/stores/:store_number/appointments/:id_or_code?store_number=true`


        Example: `http://company.com/api/v3/stores/:store_id_or_number/appointments/:id`


        Example: `http://company.com/api/v3/stores/:store_id_or_number/appointments/:code`'
      parameters:
      - name: id_or_code
        in: path
        required: true
        schema:
          type: string
      - name: store_id_or_number
        in: path
        required: true
        schema:
          type: string
      - name: locale
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment:
                    type: object
                    description: Appointment Object
      security:
      - apiKeyAuth: []
    put:
      summary: Update Appointment
      operationId: PutLocaleApiV3AdminStoresStore_id_or_numberAppointmentsId_or_code
      tags:
      - Admin Appointments
      description: 'Example: `http://company.com/api/v3/stores/:store_id/appointments/:id_or_code`


        Example: `http://company.com/api/v3/stores/:store_number/appointments/:id_or_code?store_number=true`


        Example: `http://company.com/api/v3/stores/:store_id_or_number/appointments/:id`


        Example: `http://company.com/api/v3/stores/:store_id_or_number/appointments/:code`'
      parameters:
      - name: id_or_code
        in: path
        required: true
        schema:
          type: string
      - name: store_id_or_number
        in: path
        required: true
        schema:
          type: string
      - name: locale
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appointment:
                  type: object
                  description: Appointment Object (Needs at least one of the parameters below)
              required:
              - appointment
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment:
                    type: object
                    description: Appointment Object
      security:
      - apiKeyAuth: []
  /api/v3/admin/stores/{store_id_or_number}/appointments:
    post:
      summary: Create an Appointment
      operationId: PostApiV3AdminStoresStore_id_or_numberAppointments
      tags:
      - Admin Appointments
      description: 'Example: `http://company.com/api/v3/stores/:store_id/appointments/`


        Example: `http://company.com/api/v3/stores/:store_number/appointments/?store_number=true`'
      parameters:
      - name: store_id_or_number
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appointment:
                  type: object
                  description: Appointment Object
              required:
              - appointment
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  appointment:
                    type: object
                    description: Appointment Object
      security:
      - apiKeyAuth: []
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: query
      name: api_key
      description: Company API key passed as the api_key query parameter.