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

# Update service request status



## OpenAPI

````yaml /openapi.public.json patch /service-requests/{id}/status
openapi: 3.1.1
info:
  title: Breezy Public API
  version: 1.0.0
  description: Curated Breezy customer API for user JWT and service API key clients.
servers:
  - url: https://ai-api.getbreezyapp.com/api/v1
    description: Production
security:
  - userJwtBearer: []
  - serviceApiKeyBearer: []
tags:
  - name: API Keys
    description: Create, list, reveal, and revoke service API keys.
  - name: Company Settings
    description: Read and update tenant company settings and service zones.
  - name: Contacts
    description: Read contacts and update customer attribution fields.
  - name: Service Requests
    description: Read and triage customer service requests.
  - name: Users
    description: Read public user identity and team user records.
  - name: Webhooks
    description: Create, update, rotate, and delete webhook endpoints.
paths:
  /service-requests/{id}/status:
    patch:
      tags:
        - Service Requests
      summary: Update service request status
      operationId: serviceRequests.updateStatus
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            pattern: ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
            description: Unique identifier (UUID)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  enum:
                    - needs_info
                    - ready_to_schedule
                    - scheduled
                    - completed
                    - canceled
                  type: string
              required:
                - status
              readOnly: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    pattern: ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                    description: Unique identifier (UUID)
                  referenceNumber:
                    type: string
                  conversationId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  voiceCallId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  contactId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  excludedFromReporting:
                    type: boolean
                  manuallyExcludedFromReporting:
                    type: boolean
                  instantBooking:
                    type: boolean
                  instantBookingFallbackReasonCode:
                    anyOf:
                      - enum:
                          - required_fields_missing
                          - outside_booking_window
                          - address_invalid
                          - address_resolution_unavailable
                          - outside_service_area
                          - existing_customer_not_found
                          - identity_ambiguous
                          - provider_failure
                          - partial_provider_write
                          - unknown
                        type: string
                      - type: 'null'
                  customerName:
                    anyOf:
                      - type: string
                      - type: 'null'
                  firstName:
                    anyOf:
                      - type: string
                      - type: 'null'
                  lastName:
                    anyOf:
                      - type: string
                      - type: 'null'
                  phoneNumber:
                    type: string
                  serviceAddress:
                    anyOf:
                      - type: string
                      - type: 'null'
                  serviceAddressLine1:
                    anyOf:
                      - type: string
                      - type: 'null'
                  serviceAddressLine2:
                    anyOf:
                      - type: string
                      - type: 'null'
                  serviceCity:
                    anyOf:
                      - type: string
                      - type: 'null'
                  serviceState:
                    anyOf:
                      - type: string
                      - type: 'null'
                  serviceZipCode:
                    anyOf:
                      - type: string
                      - type: 'null'
                  jobTypeId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  jobTypeName:
                    anyOf:
                      - type: string
                      - type: 'null'
                  jobClassName:
                    anyOf:
                      - type: string
                      - type: 'null'
                  onlineBookingFormId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  bookingFormSubmissionId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  jobTypeFreetext:
                    anyOf:
                      - type: string
                      - type: 'null'
                  availabilityWindows:
                    type: array
                    items:
                      type: object
                      properties:
                        raw:
                          type: string
                        date:
                          anyOf:
                            - type: string
                            - type: 'null'
                        timeWindowStart:
                          anyOf:
                            - type: string
                            - type: 'null'
                        timeWindowEnd:
                          anyOf:
                            - type: string
                            - type: 'null'
                        timeWindowLabel:
                          anyOf:
                            - type: string
                            - type: 'null'
                        start:
                          anyOf:
                            - type: string
                            - type: 'null'
                        end:
                          anyOf:
                            - type: string
                            - type: 'null'
                        flexible:
                          anyOf:
                            - type: boolean
                            - type: 'null'
                      required:
                        - raw
                        - date
                        - timeWindowStart
                        - timeWindowEnd
                        - timeWindowLabel
                        - start
                        - end
                        - flexible
                      readOnly: true
                  serviceNeeded:
                    anyOf:
                      - type: string
                      - type: 'null'
                  emailAddress:
                    anyOf:
                      - type: string
                      - type: 'null'
                  preferredTimeWindow:
                    anyOf:
                      - type: string
                      - type: 'null'
                  isExistingCustomer:
                    anyOf:
                      - type: boolean
                      - type: 'null'
                  channel:
                    anyOf:
                      - enum:
                          - web_chat
                          - voice_call
                          - booking_form
                        type: string
                      - type: 'null'
                  leadSourceId:
                    anyOf:
                      - type: string
                        pattern: >-
                          ^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$
                        description: Unique identifier (UUID)
                      - type: 'null'
                  leadSourceName:
                    anyOf:
                      - type: string
                      - type: 'null'
                  conversationSummary:
                    anyOf:
                      - type: string
                      - type: 'null'
                  customFields:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties: {}
                  status:
                    enum:
                      - needs_info
                      - ready_to_schedule
                      - scheduled
                      - completed
                      - canceled
                    type: string
                  createdAt:
                    type: string
                  updatedAt:
                    anyOf:
                      - type: string
                      - type: 'null'
                  fsmJobLeadGuid:
                    anyOf:
                      - type: string
                      - type: 'null'
                  fsmRecord:
                    anyOf:
                      - anyOf:
                          - type: object
                            properties:
                              kind:
                                const: job_lead
                              jobLeadGuid:
                                type: string
                              accountGuid:
                                type: 'null'
                              locationGuid:
                                type: 'null'
                              jobGuid:
                                type: 'null'
                              appointmentGuid:
                                type: 'null'
                            required:
                              - kind
                              - jobLeadGuid
                              - accountGuid
                              - locationGuid
                              - jobGuid
                              - appointmentGuid
                          - type: object
                            properties:
                              kind:
                                const: booked_job
                              jobLeadGuid:
                                type: 'null'
                              accountGuid:
                                type: string
                              locationGuid:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              jobGuid:
                                type: string
                              appointmentGuid:
                                type: string
                            required:
                              - kind
                              - jobLeadGuid
                              - accountGuid
                              - locationGuid
                              - jobGuid
                              - appointmentGuid
                      - type: 'null'
                  bookingDetails:
                    anyOf:
                      - type: object
                        properties:
                          confirmedWindowStart:
                            type: string
                          confirmedWindowEnd:
                            type: string
                          jobDurationMinutes:
                            type: integer
                            minimum: -9007199254740991
                            maximum: 9007199254740991
                            exclusiveMinimum: 0
                          bookingRequestId:
                            type: string
                          fsmCustomerGuid:
                            type: string
                          fsmLocationGuid:
                            anyOf:
                              - type: string
                              - type: 'null'
                          fsmJobGuid:
                            type: string
                          fsmAppointmentGuid:
                            type: string
                          bookedAt:
                            type: string
                          providerMetadata:
                            type: object
                            propertyNames:
                              type: string
                            additionalProperties:
                              anyOf:
                                - type: string
                                - type: number
                                - type: boolean
                        required:
                          - confirmedWindowStart
                          - confirmedWindowEnd
                          - jobDurationMinutes
                          - bookingRequestId
                          - fsmCustomerGuid
                          - fsmLocationGuid
                          - fsmJobGuid
                          - fsmAppointmentGuid
                          - bookedAt
                          - providerMetadata
                        readOnly: true
                      - type: 'null'
                required:
                  - id
                  - referenceNumber
                  - conversationId
                  - voiceCallId
                  - contactId
                  - excludedFromReporting
                  - manuallyExcludedFromReporting
                  - instantBooking
                  - instantBookingFallbackReasonCode
                  - customerName
                  - firstName
                  - lastName
                  - phoneNumber
                  - serviceAddress
                  - serviceAddressLine1
                  - serviceAddressLine2
                  - serviceCity
                  - serviceState
                  - serviceZipCode
                  - jobTypeId
                  - jobTypeName
                  - jobClassName
                  - onlineBookingFormId
                  - bookingFormSubmissionId
                  - jobTypeFreetext
                  - availabilityWindows
                  - serviceNeeded
                  - emailAddress
                  - preferredTimeWindow
                  - isExistingCustomer
                  - channel
                  - leadSourceId
                  - leadSourceName
                  - conversationSummary
                  - customFields
                  - status
                  - createdAt
                  - updatedAt
                  - fsmJobLeadGuid
                  - fsmRecord
                  - bookingDetails
                readOnly: true
      security:
        - userJwtBearer: []
        - serviceApiKeyBearer: []
components:
  securitySchemes:
    userJwtBearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        User JWT bearer token. User principals can manage API keys and call
        tenant-scoped customer endpoints.
    serviceApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: bzy_live_...
      description: >-
        Service API key bearer token beginning with bzy_live_. Service API keys
        use tenant scope and cannot manage API keys or call user-only endpoints.

````