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

# Add a status report update

> Add a draft update to a report: a new state, a message and the surfaces it affects. Publish it with statusPages.reports.setVisibility.



## OpenAPI

````yaml /openapi.json post /status-reports/{reportId}/updates
openapi: 3.1.1
info:
  title: Sazabi Public API
  version: 1.0.0
  description: >
    Public REST API for Sazabi. Authenticate using a secret API key in the
    Authorization header.


    ## Pagination


    This API uses two pagination strategies depending on the endpoint type:


    ### Cursor-Based Pagination (List Endpoints)


    List endpoints (threads, messages, keys) use cursor-based pagination for
    efficient, consistent results:


    - **Parameters**: `limit` (items per page, default 50, max 100), `cursor`
    (opaque pagination token)

    - **Response**: Includes `nextCursor` field - pass this as `cursor` in the
    next request

    - **End of results**: When `nextCursor` is `null`, there are no more results

    - **Example**: `GET
    /v1/threads?limit=20&cursor=01234567-89ab-cdef-0123-456789abcdef`


    ### Page-Based Pagination (Search Endpoints)


    Search endpoints use page-based pagination due to the underlying search
    engine:


    - **Parameters**: `limit` (items per page, default 20, max 100), `page`
    (1-indexed page number)

    - **Response**: Includes `pagination` object with `page`, `limit`,
    `totalResults`, `totalPages`

    - **Example**: `GET /v1/search/threads?q=error&limit=10&page=2`
servers:
  - url: https://api.sazabi.com/v1
    description: Production
security: []
paths:
  /status-reports/{reportId}/updates:
    post:
      tags:
        - StatusPages
      summary: Add a status report update
      description: >-
        Add a draft update to a report: a new state, a message and the surfaces
        it affects. Publish it with statusPages.reports.setVisibility.
      operationId: statusPages.reports.updates.create
      parameters:
        - name: reportId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                state:
                  enum:
                    - investigating
                    - identified
                    - monitoring
                    - resolved
                    - scheduled
                    - in_progress
                    - completed
                  type: string
                  description: >-
                    Incidents move through investigating, identified, monitoring
                    and resolved; maintenance through scheduled, in_progress and
                    completed.
                message:
                  type: string
                  minLength: 1
                  maxLength: 10000
                impacts:
                  type: object
                  propertyNames:
                    type: string
                    pattern: ^[a-z0-9](?:[a-z0-9._-]{0,62}[a-z0-9])?$
                    description: >-
                      Stable key of a section or surface, unique within the
                      page: lowercase letters, digits, '.', '_' and '-'.
                  additionalProperties:
                    anyOf:
                      - enum:
                          - degraded_performance
                          - partial_outage
                          - major_outage
                          - under_maintenance
                        type: string
                        description: How a report affects a surface.
                      - type: 'null'
                  default: {}
                  description: >-
                    Surfaces this update affects, by surface key. List every
                    surface the report affects at this moment; null marks a
                    surface as recovered.
              required:
                - state
                - message
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  report:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      statusPageId:
                        type: string
                        format: uuid
                      kind:
                        enum:
                          - incident
                          - maintenance
                        type: string
                      title:
                        type: string
                      state:
                        enum:
                          - investigating
                          - identified
                          - monitoring
                          - resolved
                          - scheduled
                          - in_progress
                          - completed
                        type: string
                        description: >-
                          Incidents move through investigating, identified,
                          monitoring and resolved; maintenance through
                          scheduled, in_progress and completed.
                      visibility:
                        enum:
                          - draft
                          - published
                        type: string
                        description: >-
                          draft: visible only to the project's members.
                          published: shown on the public page.
                      startedAt:
                        type: string
                        format: date-time
                      resolvedAt:
                        anyOf:
                          - type: string
                            format: date-time
                          - type: 'null'
                      scheduledStartAt:
                        anyOf:
                          - type: string
                            format: date-time
                          - type: 'null'
                      scheduledEndAt:
                        anyOf:
                          - type: string
                            format: date-time
                          - type: 'null'
                      createdAt:
                        type: string
                        format: date-time
                      updatedAt:
                        type: string
                        format: date-time
                      updates:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                            state:
                              enum:
                                - investigating
                                - identified
                                - monitoring
                                - resolved
                                - scheduled
                                - in_progress
                                - completed
                              type: string
                              description: >-
                                Incidents move through investigating,
                                identified, monitoring and resolved; maintenance
                                through scheduled, in_progress and completed.
                            message:
                              type: string
                              description: Markdown message shown on the public page.
                            visibility:
                              enum:
                                - draft
                                - published
                              type: string
                              description: >-
                                draft: visible only to the project's members.
                                published: shown on the public page.
                            publishedAt:
                              anyOf:
                                - type: string
                                  format: date-time
                                - type: 'null'
                            createdAt:
                              type: string
                              format: date-time
                            impacts:
                              type: array
                              items:
                                type: object
                                properties:
                                  surfaceId:
                                    type: string
                                    format: uuid
                                  surfaceKey:
                                    type: string
                                  surfaceName:
                                    type: string
                                  impact:
                                    anyOf:
                                      - enum:
                                          - degraded_performance
                                          - partial_outage
                                          - major_outage
                                          - under_maintenance
                                        type: string
                                        description: How a report affects a surface.
                                      - type: 'null'
                                    description: >-
                                      The impact, or null when the surface
                                      recovered in this update.
                                required:
                                  - surfaceId
                                  - surfaceKey
                                  - surfaceName
                                  - impact
                          required:
                            - id
                            - state
                            - message
                            - visibility
                            - publishedAt
                            - createdAt
                            - impacts
                        description: Every update, drafts included, oldest first.
                    required:
                      - id
                      - statusPageId
                      - kind
                      - title
                      - state
                      - visibility
                      - startedAt
                      - resolvedAt
                      - scheduledStartAt
                      - scheduledEndAt
                      - createdAt
                      - updatedAt
                      - updates
                required:
                  - report

````

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