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

# Read members, arrival windows and calendar display bounds

> Read only within the company associated with the validated key.



## OpenAPI

````yaml /openapi.json get /schedule/settings
openapi: 3.0.3
info:
  title: Breezy Public API
  version: 1.0.0
  description: >-
    Read customers, team members, jobs, visits, assignments, installed
    equipment, captured form responses, time entries, configured-period
    timesheets, business reference catalogs, job leads, estimates, invoices,
    payments, refunds, recorded job financials, saved sold/earned credits, and
    financial summaries for your company. Read the operational schedule and
    create, edit, cancel and assign visits. Existing API keys grant company-wide
    reads and scheduling writes. Customer notifications require an explicit
    request per operation. Amounts are integer USD cents. Reads return current
    corrected records, with cursor pagination for collecting results.


    Read the [Breezy FSM guides](https://developers.getbreezyapp.com) for
    authentication, pagination, refresh limits, and business measures. All reads
    use latest corrected company records; cursors do not create a snapshot or a
    complete change feed.
servers:
  - url: https://api.getbreezyapp.com/v1
    description: Breezy FSM production API
security:
  - apiKey: []
tags:
  - name: Scheduling
  - name: Company
  - name: Invoices
  - name: Payments
  - name: Refunds
  - name: Reports
  - name: TeamMembers
  - name: Accounts
  - name: Contacts
  - name: Locations
  - name: Jobs
  - name: JobAppointments
  - name: JobAssignments
  - name: BusinessUnits
  - name: JobTypes
  - name: JobClasses
  - name: JobLifecycles
  - name: LeadSources
  - name: Tags
  - name: Estimates
  - name: JobLeads
  - name: Equipment
  - name: FormResponses
  - name: TimeEntries
  - name: Timesheets
  - name: JobFinancials
  - name: RevenueAttributions
externalDocs:
  description: Breezy FSM reporting guides and API reference
  url: https://developers.getbreezyapp.com
paths:
  /schedule/settings:
    get:
      tags:
        - Scheduling
      summary: Read members, arrival windows and calendar display bounds
      description: Read only within the company associated with the validated key.
      operationId: getSchedulingSettings
      responses:
        '200':
          description: Successful read. Clients ignore unrecognized response fields.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulingSettingsResponse'
              example:
                data:
                  timezone: America/Los_Angeles
                  display_hours:
                    start_hour: 7
                    end_hour: 19
                  team_members:
                    - id: 11111111-1111-4111-8111-000000000401
                      name: Alex Example
                      active: true
                      scheduling_capability: JOB_APPOINTMENTS_AND_INTERNAL_EVENTS
                    - id: 11111111-1111-4111-8111-000000002002
                      name: Sam Example
                      active: true
                      scheduling_capability: JOB_APPOINTMENTS_AND_INTERNAL_EVENTS
                  arrival_windows:
                    - id: 11111111-1111-4111-8111-000000002005
                      job_class: SERVICE
                      start_time: '08:00:00'
                      end_time: '12:00:00'
                meta:
                  request_id: 11111111-1111-4111-8111-000000009999
                  generated_at: '2026-09-08T19:00:00Z'
                  timezone: America/Los_Angeles
        '400':
          description: >-
            Malformed input, unknown query parameter, unsupported combination or
            invalid cursor.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: INVALID_REQUEST
                  message: end_date must be later than start_date
                  request_id: example-request
                  details: []
        '401':
          description: Missing, invalid or expired key, or invalid linked identity.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
            WWW-Authenticate:
              schema:
                type: string
              example: Bearer
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: UNAUTHENTICATED
                  message: A valid API key is required
                  request_id: example-request
                  details: []
        '404':
          description: >-
            Missing resource or resource outside the authenticated company. Same
            response for both.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: NOT_FOUND
                  message: Resource not found
                  request_id: example-request
                  details: []
        '405':
          description: >-
            Unsupported methods return 405. See the operation list for supported
            scheduling writes.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
            Allow:
              schema:
                type: string
              example: GET, HEAD, OPTIONS
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: METHOD_NOT_ALLOWED
                  message: This resource supports GET
                  request_id: example-request
                  details: []
        '409':
          description: >-
            Stale revision, idempotency-key reuse with different input,
            scheduling conflict, or unsupported stored recurrence. Inspect
            error.code.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: STALE_REVISION
                  message: The visit changed; read it again before editing
                  request_id: example-request
                  details: []
        '413':
          description: Request body is too large.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: INVALID_REQUEST
                  message: Request body exceeds 64 KB
                  request_id: example-request
                  details: []
        '429':
          description: Company request budget exhausted; retry after the indicated delay.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
            Retry-After:
              schema:
                type: integer
                minimum: 1
              description: Seconds before retrying.
              example: 30
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: RATE_LIMITED
                  message: Request limit exceeded
                  request_id: example-request
                  details: []
        '500':
          description: >-
            Unexpected failure. Share request_id with support; no stack or
            provider secrets in response.
          headers:
            Cache-Control:
              schema:
                type: string
              example: private, no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: INTERNAL_ERROR
                  message: Unable to complete request
                  request_id: example-request
                  details: []
      security:
        - apiKey: []
components:
  schemas:
    SchedulingSettingsResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/SchedulingSettings'
        meta:
          $ref: '#/components/schemas/ResponseMeta'
      required:
        - data
        - meta
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - INVALID_REQUEST
                - INVALID_CURSOR
                - SCHEDULE_TOO_LARGE
                - INVALID_SCHEDULE_EVENT
                - SCHEDULE_CONFLICT
                - STALE_REVISION
                - IDEMPOTENCY_CONFLICT
                - UNAUTHENTICATED
                - NOT_FOUND
                - METHOD_NOT_ALLOWED
                - RATE_LIMITED
                - INTERNAL_ERROR
            message:
              type: string
            request_id:
              type: string
            details:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
                required:
                  - field
                  - message
          required:
            - code
            - message
            - request_id
            - details
      required:
        - error
    SchedulingSettings:
      type: object
      properties:
        timezone:
          type: string
        display_hours:
          type: object
          nullable: true
          properties:
            start_hour:
              type: number
            end_hour:
              type: number
          required:
            - start_hour
            - end_hour
          description: Calendar display bounds, not guaranteed bookable working hours.
        team_members:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              active:
                type: boolean
              scheduling_capability:
                type: string
                enum:
                  - NONE
                  - INTERNAL_EVENTS_ONLY
                  - JOB_APPOINTMENTS_AND_INTERNAL_EVENTS
            required:
              - id
              - name
              - active
              - scheduling_capability
        arrival_windows:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              job_class:
                $ref: '#/components/schemas/NullableJobClass'
              start_time:
                type: string
              end_time:
                type: string
            required:
              - id
              - job_class
              - start_time
              - end_time
      required:
        - timezone
        - display_hours
        - team_members
        - arrival_windows
    ResponseMeta:
      type: object
      properties:
        request_id:
          type: string
        generated_at:
          type: string
          format: date-time
        timezone:
          type: string
      required:
        - request_id
        - generated_at
        - timezone
      description: >-
        Generation time and company timezone. generated_at is not a snapshot or
        synchronization token.
    NullableJobClass:
      type: string
      nullable: true
      enum:
        - SERVICE
        - MAINTENANCE
        - ESTIMATE_REPAIR
        - ESTIMATE_REPLACE
        - INSTALL
        - WARRANTY
        - CALLBACK
        - SALES
        - UNKNOWN
        - null
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        Existing Breezy API key. Grants all published reads and scheduling
        writes in its associated company. No app permission scopes.

````