# Generated by: go run ./tools/api/route_inventory.go
openapi: 3.1.0
info:
  title: up4 Public REST API
  version: 2026-07-09
  description: Public API contract generated from docs/api/route-inventory.yaml. Internal, admin, runtime, and inbound-provider routes are intentionally excluded.
servers:
  - url: /v1
security:
  - bearerAuth: []
paths:
  /advisor:
    get:
      operationId: get_advisor
      summary: GET /advisor
      tags: [advisor]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /advisor/apply:
    post:
      operationId: post_advisor_apply
      summary: POST /advisor/apply
      tags: [advisor]
      x-audience: public_api
      x-stability: stable
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /client-templates:
    get:
      operationId: get_client_templates
      summary: GET /client-templates
      tags: [client-templates]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_client_templates
      summary: POST /client-templates
      tags: [client-templates]
      x-audience: public_api
      x-stability: stable
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /client-templates/{templateID}:
    get:
      operationId: get_client_templates_templateID
      summary: GET /client-templates/{templateID}
      tags: [client-templates]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: templateID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_client_templates_templateID
      summary: PUT /client-templates/{templateID}
      tags: [client-templates]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: templateID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_client_templates_templateID
      summary: DELETE /client-templates/{templateID}
      tags: [client-templates]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: templateID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /clients:
    get:
      operationId: get_clients
      summary: GET /clients
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_clients
      summary: POST /clients
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}:
    get:
      operationId: get_clients_clientID
      summary: GET /clients/{clientID}
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_clients_clientID
      summary: PUT /clients/{clientID}
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}/archive:
    post:
      operationId: post_clients_clientID_archive
      summary: POST /clients/{clientID}/archive
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}/portal-settings:
    get:
      operationId: get_clients_clientID_portal_settings
      summary: GET /clients/{clientID}/portal-settings
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_clients_clientID_portal_settings
      summary: PUT /clients/{clientID}/portal-settings
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}/share-links:
    get:
      operationId: get_clients_clientID_share_links
      summary: GET /clients/{clientID}/share-links
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_clients_clientID_share_links
      summary: POST /clients/{clientID}/share-links
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}/share-links/{linkID}:
    delete:
      operationId: delete_clients_clientID_share_links_linkID
      summary: DELETE /clients/{clientID}/share-links/{linkID}
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: linkID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}/teams:
    get:
      operationId: get_clients_clientID_teams
      summary: GET /clients/{clientID}/teams
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.read
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /clients/{clientID}/unarchive:
    post:
      operationId: post_clients_clientID_unarchive
      summary: POST /clients/{clientID}/unarchive
      tags: [clients]
      x-audience: public_api
      x-stability: stable
      x-permission: client.write
      parameters:
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /escalation-policies:
    get:
      operationId: get_escalation_policies
      summary: GET /escalation-policies
      tags: [escalation-policies]
      x-audience: public_api
      x-stability: stable
      x-permission: escalation_policy.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_escalation_policies
      summary: POST /escalation-policies
      tags: [escalation-policies]
      x-audience: public_api
      x-stability: stable
      x-permission: escalation_policy.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /escalation-policies/{policyID}:
    get:
      operationId: get_escalation_policies_policyID
      summary: GET /escalation-policies/{policyID}
      tags: [escalation-policies]
      x-audience: public_api
      x-stability: stable
      x-permission: escalation_policy.write
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_escalation_policies_policyID
      summary: PUT /escalation-policies/{policyID}
      tags: [escalation-policies]
      x-audience: public_api
      x-stability: stable
      x-permission: escalation_policy.write
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_escalation_policies_policyID
      summary: DELETE /escalation-policies/{policyID}
      tags: [escalation-policies]
      x-audience: public_api
      x-stability: stable
      x-permission: escalation_policy.write
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /escalation-policies/{policyID}/test:
    post:
      operationId: post_escalation_policies_policyID_test
      summary: POST /escalation-policies/{policyID}/test
      tags: [escalation-policies]
      x-audience: public_api
      x-stability: stable
      x-permission: escalation_policy.write
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "202":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeat-groups:
    get:
      operationId: get_heartbeat_groups
      summary: GET /heartbeat-groups
      tags: [heartbeat-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_heartbeat_groups
      summary: POST /heartbeat-groups
      tags: [heartbeat-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeat-groups/assign:
    post:
      operationId: post_heartbeat_groups_assign
      summary: POST /heartbeat-groups/assign
      tags: [heartbeat-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeat-groups/{groupID}:
    get:
      operationId: get_heartbeat_groups_groupID
      summary: GET /heartbeat-groups/{groupID}
      tags: [heartbeat-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: groupID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_heartbeat_groups_groupID
      summary: PUT /heartbeat-groups/{groupID}
      tags: [heartbeat-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: groupID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_heartbeat_groups_groupID
      summary: DELETE /heartbeat-groups/{groupID}
      tags: [heartbeat-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: groupID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /heartbeats:
    get:
      operationId: get_heartbeats
      summary: GET /heartbeats
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_heartbeats
      summary: POST /heartbeats
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeats/{heartbeatID}:
    get:
      operationId: get_heartbeats_heartbeatID
      summary: GET /heartbeats/{heartbeatID}
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_heartbeats_heartbeatID
      summary: PUT /heartbeats/{heartbeatID}
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    patch:
      operationId: patch_heartbeats_heartbeatID
      summary: PATCH /heartbeats/{heartbeatID}
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_heartbeats_heartbeatID
      summary: DELETE /heartbeats/{heartbeatID}
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /heartbeats/{heartbeatID}/availability:
    get:
      operationId: get_heartbeats_heartbeatID_availability
      summary: GET /heartbeats/{heartbeatID}/availability
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.read
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeats/{heartbeatID}/pause:
    post:
      operationId: post_heartbeats_heartbeatID_pause
      summary: POST /heartbeats/{heartbeatID}/pause
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_heartbeats_heartbeatID_pause
      summary: PUT /heartbeats/{heartbeatID}/pause
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeats/{heartbeatID}/pings:
    get:
      operationId: get_heartbeats_heartbeatID_pings
      summary: GET /heartbeats/{heartbeatID}/pings
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.read
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /heartbeats/{heartbeatID}/resume:
    post:
      operationId: post_heartbeats_heartbeatID_resume
      summary: POST /heartbeats/{heartbeatID}/resume
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_heartbeats_heartbeatID_resume
      summary: PUT /heartbeats/{heartbeatID}/resume
      tags: [heartbeats]
      x-audience: public_api
      x-stability: stable
      x-permission: heartbeat.write
      parameters:
        - name: heartbeatID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents:
    get:
      operationId: get_incidents
      summary: GET /incidents
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_incidents
      summary: POST /incidents
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}:
    get:
      operationId: get_incidents_incidentID
      summary: GET /incidents/{incidentID}
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/acknowledge:
    post:
      operationId: post_incidents_incidentID_acknowledge
      summary: POST /incidents/{incidentID}/acknowledge
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_incidents_incidentID_acknowledge
      summary: PUT /incidents/{incidentID}/acknowledge
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/ai:
    get:
      operationId: get_incidents_incidentID_ai
      summary: GET /incidents/{incidentID}/ai
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/ai/postmortem:
    post:
      operationId: post_incidents_incidentID_ai_postmortem
      summary: POST /incidents/{incidentID}/ai/postmortem
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/ai/summary:
    post:
      operationId: post_incidents_incidentID_ai_summary
      summary: POST /incidents/{incidentID}/ai/summary
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/ai/{kind}/rating:
    put:
      operationId: put_incidents_incidentID_ai_kind_rating
      summary: PUT /incidents/{incidentID}/ai/{kind}/rating
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: kind
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/attachments:
    get:
      operationId: get_incidents_incidentID_attachments
      summary: GET /incidents/{incidentID}/attachments
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_incidents_incidentID_attachments
      summary: POST /incidents/{incidentID}/attachments
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/attachments/{attachmentID}:
    get:
      operationId: get_incidents_incidentID_attachments_attachmentID
      summary: GET /incidents/{incidentID}/attachments/{attachmentID}
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: attachmentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_incidents_incidentID_attachments_attachmentID
      summary: DELETE /incidents/{incidentID}/attachments/{attachmentID}
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: attachmentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/comments:
    get:
      operationId: get_incidents_incidentID_comments
      summary: GET /incidents/{incidentID}/comments
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_incidents_incidentID_comments
      summary: POST /incidents/{incidentID}/comments
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/comments/{commentID}:
    delete:
      operationId: delete_incidents_incidentID_comments_commentID
      summary: DELETE /incidents/{incidentID}/comments/{commentID}
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: commentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/escalate:
    post:
      operationId: post_incidents_incidentID_escalate
      summary: POST /incidents/{incidentID}/escalate
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/group:
    get:
      operationId: get_incidents_incidentID_group
      summary: GET /incidents/{incidentID}/group
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/reopen:
    post:
      operationId: post_incidents_incidentID_reopen
      summary: POST /incidents/{incidentID}/reopen
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_incidents_incidentID_reopen
      summary: PUT /incidents/{incidentID}/reopen
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/resolve:
    post:
      operationId: post_incidents_incidentID_resolve
      summary: POST /incidents/{incidentID}/resolve
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_incidents_incidentID_resolve
      summary: PUT /incidents/{incidentID}/resolve
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/runbook-progress:
    get:
      operationId: get_incidents_incidentID_runbook_progress
      summary: GET /incidents/{incidentID}/runbook-progress
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/runbook-steps/{stepID}/completion:
    put:
      operationId: put_incidents_incidentID_runbook_steps_stepID_completion
      summary: PUT /incidents/{incidentID}/runbook-steps/{stepID}/completion
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: stepID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/timeline:
    get:
      operationId: get_incidents_incidentID_timeline
      summary: GET /incidents/{incidentID}/timeline
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /incidents/{incidentID}/updates:
    post:
      operationId: post_incidents_incidentID_updates
      summary: POST /incidents/{incidentID}/updates
      tags: [incidents]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.write
      parameters:
        - name: incidentID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /internal/fleet/releases:
    post:
      operationId: post_internal_fleet_releases
      summary: POST /internal/fleet/releases
      tags: [internal]
      x-audience: public_api
      x-stability: stable
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /invites:
    get:
      operationId: get_invites
      summary: GET /invites
      tags: [invites]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_invites
      summary: POST /invites
      tags: [invites]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /invites/{inviteID}:
    delete:
      operationId: delete_invites_inviteID
      summary: DELETE /invites/{inviteID}
      tags: [invites]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: inviteID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /invites/{inviteID}/resend:
    post:
      operationId: post_invites_inviteID_resend
      summary: POST /invites/{inviteID}/resend
      tags: [invites]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: inviteID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /me:
    get:
      operationId: get_me
      summary: GET /me
      tags: [me]
      x-audience: public_api
      x-stability: stable
      x-permission: self.read
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /metadata:
    get:
      operationId: get_metadata
      summary: GET /metadata
      tags: [metadata]
      x-audience: public_api
      x-stability: stable
      x-permission: metadata.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_metadata
      summary: PUT /metadata
      tags: [metadata]
      x-audience: public_api
      x-stability: stable
      x-permission: metadata.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitor-groups:
    get:
      operationId: get_monitor_groups
      summary: GET /monitor-groups
      tags: [monitor-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_monitor_groups
      summary: POST /monitor-groups
      tags: [monitor-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitor-groups/assign:
    post:
      operationId: post_monitor_groups_assign
      summary: POST /monitor-groups/assign
      tags: [monitor-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitor-groups/{groupID}:
    get:
      operationId: get_monitor_groups_groupID
      summary: GET /monitor-groups/{groupID}
      tags: [monitor-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: groupID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_monitor_groups_groupID
      summary: PUT /monitor-groups/{groupID}
      tags: [monitor-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: groupID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_monitor_groups_groupID
      summary: DELETE /monitor-groups/{groupID}
      tags: [monitor-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: groupID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /monitors:
    get:
      operationId: get_monitors
      summary: GET /monitors
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
        - name: status
          in: query
          required: false
          schema: { type: string, enum: [UP, DOWN, PAUSED] }
        - name: monitor_type
          in: query
          required: false
          schema: { type: string, enum: [http, ping, tcp, dns] }
        - name: region
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_monitors
      summary: POST /monitors
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/batch:
    post:
      operationId: post_monitors_batch
      summary: POST /monitors/batch
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/batch/dry-run:
    post:
      operationId: post_monitors_batch_dry_run
      summary: POST /monitors/batch/dry-run
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}:
    get:
      operationId: get_monitors_monitorID
      summary: GET /monitors/{monitorID}
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_monitors_monitorID
      summary: PUT /monitors/{monitorID}
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    patch:
      operationId: patch_monitors_monitorID
      summary: PATCH /monitors/{monitorID}
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_monitors_monitorID
      summary: DELETE /monitors/{monitorID}
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/availability:
    get:
      operationId: get_monitors_monitorID_availability
      summary: GET /monitors/{monitorID}/availability
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/certificates:
    get:
      operationId: get_monitors_monitorID_certificates
      summary: GET /monitors/{monitorID}/certificates
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/check:
    post:
      operationId: post_monitors_monitorID_check
      summary: POST /monitors/{monitorID}/check
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "202":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/escalation-policy:
    put:
      operationId: put_monitors_monitorID_escalation_policy
      summary: PUT /monitors/{monitorID}/escalation-policy
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_monitors_monitorID_escalation_policy
      summary: DELETE /monitors/{monitorID}/escalation-policy
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/incidents:
    get:
      operationId: get_monitors_monitorID_incidents
      summary: GET /monitors/{monitorID}/incidents
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/notification_channels:
    get:
      operationId: get_monitors_monitorID_notification_channels
      summary: GET /monitors/{monitorID}/notification_channels
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/notification_channels/{channelID}:
    post:
      operationId: post_monitors_monitorID_notification_channels_channelID
      summary: POST /monitors/{monitorID}/notification_channels/{channelID}
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: channelID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_monitors_monitorID_notification_channels_channelID
      summary: DELETE /monitors/{monitorID}/notification_channels/{channelID}
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.delete
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: channelID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/pause:
    post:
      operationId: post_monitors_monitorID_pause
      summary: POST /monitors/{monitorID}/pause
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/regions:
    get:
      operationId: get_monitors_monitorID_regions
      summary: GET /monitors/{monitorID}/regions
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/response_times:
    get:
      operationId: get_monitors_monitorID_response_times
      summary: GET /monitors/{monitorID}/response_times
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/results:
    get:
      operationId: get_monitors_monitorID_results
      summary: GET /monitors/{monitorID}/results
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.read
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/resume:
    post:
      operationId: post_monitors_monitorID_resume
      summary: POST /monitors/{monitorID}/resume
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /monitors/{monitorID}/test-alert:
    post:
      operationId: post_monitors_monitorID_test_alert
      summary: POST /monitors/{monitorID}/test-alert
      tags: [monitors]
      x-audience: public_api
      x-stability: stable
      x-permission: monitor.write
      parameters:
        - name: monitorID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "202":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /notification_channels:
    get:
      operationId: get_notification_channels
      summary: GET /notification_channels
      tags: [notification-channels]
      x-audience: public_api
      x-stability: stable
      x-permission: notification_channel.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_notification_channels
      summary: POST /notification_channels
      tags: [notification-channels]
      x-audience: public_api
      x-stability: stable
      x-permission: notification_channel.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /notification_channels/{channelID}:
    get:
      operationId: get_notification_channels_channelID
      summary: GET /notification_channels/{channelID}
      tags: [notification-channels]
      x-audience: public_api
      x-stability: stable
      x-permission: notification_channel.write
      parameters:
        - name: channelID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_notification_channels_channelID
      summary: PUT /notification_channels/{channelID}
      tags: [notification-channels]
      x-audience: public_api
      x-stability: stable
      x-permission: notification_channel.write
      parameters:
        - name: channelID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_notification_channels_channelID
      summary: DELETE /notification_channels/{channelID}
      tags: [notification-channels]
      x-audience: public_api
      x-stability: stable
      x-permission: notification_channel.write
      parameters:
        - name: channelID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /notification_channels/{channelID}/test:
    post:
      operationId: post_notification_channels_channelID_test
      summary: POST /notification_channels/{channelID}/test
      tags: [notification-channels]
      x-audience: public_api
      x-stability: stable
      x-permission: notification_channel.write
      parameters:
        - name: channelID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "202":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules:
    get:
      operationId: get_oncall_schedules
      summary: GET /oncall-schedules
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_oncall_schedules
      summary: POST /oncall-schedules
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/current:
    get:
      operationId: get_oncall_schedules_current
      summary: GET /oncall-schedules/current
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/{scheduleID}:
    get:
      operationId: get_oncall_schedules_scheduleID
      summary: GET /oncall-schedules/{scheduleID}
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_oncall_schedules_scheduleID
      summary: PUT /oncall-schedules/{scheduleID}
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_oncall_schedules_scheduleID
      summary: DELETE /oncall-schedules/{scheduleID}
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/{scheduleID}/coverage:
    get:
      operationId: get_oncall_schedules_scheduleID_coverage
      summary: GET /oncall-schedules/{scheduleID}/coverage
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/{scheduleID}/events:
    get:
      operationId: get_oncall_schedules_scheduleID_events
      summary: GET /oncall-schedules/{scheduleID}/events
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/{scheduleID}/overrides:
    get:
      operationId: get_oncall_schedules_scheduleID_overrides
      summary: GET /oncall-schedules/{scheduleID}/overrides
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_oncall_schedules_scheduleID_overrides
      summary: POST /oncall-schedules/{scheduleID}/overrides
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/{scheduleID}/overrides/{overrideID}:
    delete:
      operationId: delete_oncall_schedules_scheduleID_overrides_overrideID
      summary: DELETE /oncall-schedules/{scheduleID}/overrides/{overrideID}
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.write
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: overrideID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /oncall-schedules/{scheduleID}/rotations:
    get:
      operationId: get_oncall_schedules_scheduleID_rotations
      summary: GET /oncall-schedules/{scheduleID}/rotations
      tags: [oncall-schedules]
      x-audience: public_api
      x-stability: stable
      x-permission: oncall.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization:
    get:
      operationId: get_organization
      summary: GET /organization
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_organization
      summary: POST /organization
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_organization
      summary: PUT /organization
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_organization
      summary: DELETE /organization
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /organization/ai-quota:
    put:
      operationId: put_organization_ai_quota
      summary: PUT /organization/ai-quota
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/ai-usage:
    get:
      operationId: get_organization_ai_usage
      summary: GET /organization/ai-usage
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/audit-logs:
    get:
      operationId: get_organization_audit_logs
      summary: GET /organization/audit-logs
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: audit_log.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/members:
    get:
      operationId: get_organization_members
      summary: GET /organization/members
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: member.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/members/email/{email}:
    get:
      operationId: get_organization_members_email_email
      summary: GET /organization/members/email/{email}
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: email
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_organization_members_email_email
      summary: DELETE /organization/members/email/{email}
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: email
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /organization/members/{memberID}:
    delete:
      operationId: delete_organization_members_memberID
      summary: DELETE /organization/members/{memberID}
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: memberID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /organization/members/{memberID}/role:
    put:
      operationId: put_organization_members_memberID_role
      summary: PUT /organization/members/{memberID}/role
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: memberID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/security:
    get:
      operationId: get_organization_security
      summary: GET /organization/security
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_organization_security
      summary: PUT /organization/security
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/sso:
    get:
      operationId: get_organization_sso
      summary: GET /organization/sso
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /organization/sso/{provider}:
    put:
      operationId: put_organization_sso_provider
      summary: PUT /organization/sso/{provider}
      tags: [organization]
      x-audience: public_api
      x-stability: stable
      x-permission: organization.write
      parameters:
        - name: provider
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/agency-ribbon:
    get:
      operationId: get_reports_agency_ribbon
      summary: GET /reports/agency-ribbon
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/downtime-ledger:
    get:
      operationId: get_reports_downtime_ledger
      summary: GET /reports/downtime-ledger
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/export:
    get:
      operationId: get_reports_export
      summary: GET /reports/export
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/incidents:
    get:
      operationId: get_reports_incidents
      summary: GET /reports/incidents
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/monitor-ribbon:
    get:
      operationId: get_reports_monitor_ribbon
      summary: GET /reports/monitor-ribbon
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/monitors:
    get:
      operationId: get_reports_monitors
      summary: GET /reports/monitors
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/response-time:
    get:
      operationId: get_reports_response_time
      summary: GET /reports/response-time
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/runs:
    get:
      operationId: get_reports_runs
      summary: GET /reports/runs
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/schedules:
    get:
      operationId: get_reports_schedules
      summary: GET /reports/schedules
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_reports_schedules
      summary: POST /reports/schedules
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/schedules/{scheduleID}:
    get:
      operationId: get_reports_schedules_scheduleID
      summary: GET /reports/schedules/{scheduleID}
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_reports_schedules_scheduleID
      summary: PUT /reports/schedules/{scheduleID}
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_reports_schedules_scheduleID
      summary: DELETE /reports/schedules/{scheduleID}
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /reports/schedules/{scheduleID}/run-now:
    post:
      operationId: post_reports_schedules_scheduleID_run_now
      summary: POST /reports/schedules/{scheduleID}/run-now
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: scheduleID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/share-links:
    get:
      operationId: get_reports_share_links
      summary: GET /reports/share-links
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/share-links/{linkID}:
    delete:
      operationId: delete_reports_share_links_linkID
      summary: DELETE /reports/share-links/{linkID}
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: linkID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /reports/sla:
    get:
      operationId: get_reports_sla
      summary: GET /reports/sla
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/summary:
    get:
      operationId: get_reports_summary
      summary: GET /reports/summary
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/trends:
    get:
      operationId: get_reports_trends
      summary: GET /reports/trends
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/verify/{hash}:
    get:
      operationId: get_reports_verify_hash
      summary: GET /reports/verify/{hash}
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: hash
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /reports/{runID}/share:
    post:
      operationId: post_reports_runID_share
      summary: POST /reports/{runID}/share
      tags: [reports]
      x-audience: public_api
      x-stability: stable
      x-permission: report.read
      parameters:
        - name: runID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /runbooks:
    get:
      operationId: get_runbooks
      summary: GET /runbooks
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_runbooks
      summary: POST /runbooks
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /runbooks/{runbookID}:
    get:
      operationId: get_runbooks_runbookID
      summary: GET /runbooks/{runbookID}
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.write
      parameters:
        - name: runbookID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_runbooks_runbookID
      summary: PUT /runbooks/{runbookID}
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.write
      parameters:
        - name: runbookID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_runbooks_runbookID
      summary: DELETE /runbooks/{runbookID}
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.write
      parameters:
        - name: runbookID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /runbooks/{runbookID}/step-completions:
    get:
      operationId: get_runbooks_runbookID_step_completions
      summary: GET /runbooks/{runbookID}/step-completions
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.read
      parameters:
        - name: runbookID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /runbooks/{runbookID}/steps/{stepID}/completion:
    put:
      operationId: put_runbooks_runbookID_steps_stepID_completion
      summary: PUT /runbooks/{runbookID}/steps/{stepID}/completion
      tags: [runbooks]
      x-audience: public_api
      x-stability: stable
      x-permission: runbook.write
      parameters:
        - name: runbookID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: stepID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /severities:
    get:
      operationId: get_severities
      summary: GET /severities
      tags: [severities]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /severity-groups:
    get:
      operationId: get_severity_groups
      summary: GET /severity-groups
      tags: [severity-groups]
      x-audience: public_api
      x-stability: stable
      x-permission: incident.read
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /share/reports/{token}:
    get:
      operationId: get_share_reports_token
      summary: GET /share/reports/{token}
      tags: [share]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: token
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /sla-policies:
    get:
      operationId: get_sla_policies
      summary: GET /sla-policies
      tags: [sla-policies]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_sla_policies
      summary: POST /sla-policies
      tags: [sla-policies]
      x-audience: public_api
      x-stability: stable
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /sla-policies/{policyID}:
    get:
      operationId: get_sla_policies_policyID
      summary: GET /sla-policies/{policyID}
      tags: [sla-policies]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_sla_policies_policyID
      summary: PUT /sla-policies/{policyID}
      tags: [sla-policies]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_sla_policies_policyID
      summary: DELETE /sla-policies/{policyID}
      tags: [sla-policies]
      x-audience: public_api
      x-stability: stable
      parameters:
        - name: policyID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages:
    get:
      operationId: get_status_pages
      summary: GET /status-pages
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages
      summary: POST /status-pages
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}:
    get:
      operationId: get_status_pages_pageID
      summary: GET /status-pages/{pageID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_status_pages_pageID
      summary: PUT /status-pages/{pageID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_status_pages_pageID
      summary: DELETE /status-pages/{pageID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/access:
    get:
      operationId: get_status_pages_pageID_access
      summary: GET /status-pages/{pageID}/access
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_status_pages_pageID_access
      summary: PUT /status-pages/{pageID}/access
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/access-token:
    post:
      operationId: post_status_pages_pageID_access_token
      summary: POST /status-pages/{pageID}/access-token
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_status_pages_pageID_access_token
      summary: DELETE /status-pages/{pageID}/access-token
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/custom-domain:
    put:
      operationId: put_status_pages_pageID_custom_domain
      summary: PUT /status-pages/{pageID}/custom-domain
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_status_pages_pageID_custom_domain
      summary: DELETE /status-pages/{pageID}/custom-domain
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/custom-domain/recheck:
    post:
      operationId: post_status_pages_pageID_custom_domain_recheck
      summary: POST /status-pages/{pageID}/custom-domain/recheck
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/domain:
    get:
      operationId: get_status_pages_pageID_domain
      summary: GET /status-pages/{pageID}/domain
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.read
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/domain/events:
    get:
      operationId: get_status_pages_pageID_domain_events
      summary: GET /status-pages/{pageID}/domain/events
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.read
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/report-updates:
    get:
      operationId: get_status_pages_pageID_report_updates
      summary: GET /status-pages/{pageID}/report-updates
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.read
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/reports:
    get:
      operationId: get_status_pages_pageID_reports
      summary: GET /status-pages/{pageID}/reports
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages_pageID_reports
      summary: POST /status-pages/{pageID}/reports
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/sections:
    get:
      operationId: get_status_pages_pageID_sections
      summary: GET /status-pages/{pageID}/sections
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages_pageID_sections
      summary: POST /status-pages/{pageID}/sections
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/sections/{sectionID}:
    put:
      operationId: put_status_pages_pageID_sections_sectionID
      summary: PUT /status-pages/{pageID}/sections/{sectionID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: sectionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_status_pages_pageID_sections_sectionID
      summary: DELETE /status-pages/{pageID}/sections/{sectionID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: sectionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/sections/{sectionID}/resources:
    get:
      operationId: get_status_pages_pageID_sections_sectionID_resources
      summary: GET /status-pages/{pageID}/sections/{sectionID}/resources
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: sectionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages_pageID_sections_sectionID_resources
      summary: POST /status-pages/{pageID}/sections/{sectionID}/resources
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: sectionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/sections/{sectionID}/resources/{resourceID}:
    put:
      operationId: put_status_pages_pageID_sections_sectionID_resources_resourceID
      summary: PUT /status-pages/{pageID}/sections/{sectionID}/resources/{resourceID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: sectionID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: resourceID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_status_pages_pageID_sections_sectionID_resources_resourceID
      summary: DELETE /status-pages/{pageID}/sections/{sectionID}/resources/{resourceID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: sectionID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: resourceID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/structure:
    get:
      operationId: get_status_pages_pageID_structure
      summary: GET /status-pages/{pageID}/structure
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_status_pages_pageID_structure
      summary: PUT /status-pages/{pageID}/structure
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/subscribers:
    get:
      operationId: get_status_pages_pageID_subscribers
      summary: GET /status-pages/{pageID}/subscribers
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.subscriber.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages_pageID_subscribers
      summary: POST /status-pages/{pageID}/subscribers
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.subscriber.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/subscribers/upload:
    post:
      operationId: post_status_pages_pageID_subscribers_upload
      summary: POST /status-pages/{pageID}/subscribers/upload
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.subscriber.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/subscribers/{subscriberID}:
    delete:
      operationId: delete_status_pages_pageID_subscribers_subscriberID
      summary: DELETE /status-pages/{pageID}/subscribers/{subscriberID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.subscriber.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: subscriberID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/subscribers/{subscriberID}/resend:
    post:
      operationId: post_status_pages_pageID_subscribers_subscriberID_resend
      summary: POST /status-pages/{pageID}/subscribers/{subscriberID}/resend
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.subscriber.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: subscriberID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/translations:
    get:
      operationId: get_status_pages_pageID_translations
      summary: GET /status-pages/{pageID}/translations
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages_pageID_translations
      summary: POST /status-pages/{pageID}/translations
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/translations/{translationID}:
    put:
      operationId: put_status_pages_pageID_translations_translationID
      summary: PUT /status-pages/{pageID}/translations/{translationID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: translationID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_status_pages_pageID_translations_translationID
      summary: DELETE /status-pages/{pageID}/translations/{translationID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: translationID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/updates:
    get:
      operationId: get_status_pages_pageID_updates
      summary: GET /status-pages/{pageID}/updates
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_status_pages_pageID_updates
      summary: POST /status-pages/{pageID}/updates
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /status-pages/{pageID}/updates/{updateID}:
    delete:
      operationId: delete_status_pages_pageID_updates_updateID
      summary: DELETE /status-pages/{pageID}/updates/{updateID}
      tags: [status-pages]
      x-audience: public_api
      x-stability: stable
      x-permission: status_page.write
      parameters:
        - name: pageID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: updateID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /teams:
    get:
      operationId: get_teams
      summary: GET /teams
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_teams
      summary: POST /teams
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}:
    get:
      operationId: get_teams_teamID
      summary: GET /teams/{teamID}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    put:
      operationId: put_teams_teamID
      summary: PUT /teams/{teamID}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_teams_teamID
      summary: DELETE /teams/{teamID}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}/clients:
    get:
      operationId: get_teams_teamID_clients
      summary: GET /teams/{teamID}/clients
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_teams_teamID_clients
      summary: POST /teams/{teamID}/clients
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}/clients/{clientID}:
    delete:
      operationId: delete_teams_teamID_clients_clientID
      summary: DELETE /teams/{teamID}/clients/{clientID}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: team.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: clientID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}/members:
    get:
      operationId: get_teams_teamID_members
      summary: GET /teams/{teamID}/members
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_teams_teamID_members
      summary: POST /teams/{teamID}/members
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}/members/email/{email}:
    get:
      operationId: get_teams_teamID_members_email_email
      summary: GET /teams/{teamID}/members/email/{email}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: email
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_teams_teamID_members_email_email
      summary: DELETE /teams/{teamID}/members/email/{email}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: email
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}/members/{memberID}:
    delete:
      operationId: delete_teams_teamID_members_memberID
      summary: DELETE /teams/{teamID}/members/{memberID}
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: memberID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /teams/{teamID}/members/{memberID}/role:
    put:
      operationId: put_teams_teamID_members_memberID_role
      summary: PUT /teams/{teamID}/members/{memberID}/role
      tags: [teams]
      x-audience: public_api
      x-stability: stable
      x-permission: member.write
      parameters:
        - name: teamID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: memberID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /webhook-subscriptions:
    get:
      operationId: get_webhook_subscriptions
      summary: GET /webhook-subscriptions
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.write
      parameters:
        - name: limit
          in: query
          required: false
          schema: { type: integer, minimum: 1, maximum: 250, default: 50 }
        - name: cursor
          in: query
          required: false
          schema: { type: string }
        - name: client_id
          in: query
          required: false
          schema: { type: string, format: uuid }
        - name: all_clients
          in: query
          required: false
          schema: { type: boolean }
        - name: q
          in: query
          required: false
          schema: { type: string }
        - name: sort
          in: query
          required: false
          schema: { type: string }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    post:
      operationId: post_webhook_subscriptions
      summary: POST /webhook-subscriptions
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.write
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "201":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /webhook-subscriptions/{subscriptionID}:
    put:
      operationId: put_webhook_subscriptions_subscriptionID
      summary: PUT /webhook-subscriptions/{subscriptionID}
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.write
      parameters:
        - name: subscriptionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
    delete:
      operationId: delete_webhook_subscriptions_subscriptionID
      summary: DELETE /webhook-subscriptions/{subscriptionID}
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.write
      parameters:
        - name: subscriptionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "204": { description: Deleted }
        default:
          $ref: '#/components/responses/Error'
  /webhook-subscriptions/{subscriptionID}/deliveries:
    get:
      operationId: get_webhook_subscriptions_subscriptionID_deliveries
      summary: GET /webhook-subscriptions/{subscriptionID}/deliveries
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.read
      parameters:
        - name: subscriptionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      responses:
        "200":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /webhook-subscriptions/{subscriptionID}/redeliver/{deliveryID}:
    post:
      operationId: post_webhook_subscriptions_subscriptionID_redeliver_deliveryID
      summary: POST /webhook-subscriptions/{subscriptionID}/redeliver/{deliveryID}
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.write
      parameters:
        - name: subscriptionID
          in: path
          required: true
          schema: { type: string, format: uuid }
        - name: deliveryID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "202":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
  /webhook-subscriptions/{subscriptionID}/test:
    post:
      operationId: post_webhook_subscriptions_subscriptionID_test
      summary: POST /webhook-subscriptions/{subscriptionID}/test
      tags: [webhook-subscriptions]
      x-audience: public_api
      x-stability: beta
      x-permission: webhook.write
      parameters:
        - name: subscriptionID
          in: path
          required: true
          schema: { type: string, format: uuid }
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        "202":
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        default:
          $ref: '#/components/responses/Error'
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API key
  responses:
    Error:
      description: Standard error envelope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  schemas:
    Envelope:
      type: object
      properties:
        data: {}
        pagination:
          $ref: '#/components/schemas/Pagination'
      required: [data]
    Pagination:
      type: object
      properties:
        cursor: { type: [string, 'null'] }
        next_cursor: { type: [string, 'null'] }
        prev_cursor: { type: [string, 'null'] }
        limit: { type: integer, minimum: 1, maximum: 250 }
        has_more: { type: boolean }
    ErrorEnvelope:
      type: object
      required: [error]
      properties:
        error:
          type: object
          required: [code, message, request_id]
          properties:
            code: { type: string }
            message: { type: string }
            request_id: { type: string }
            details:
              type: object
              additionalProperties: true
    Resource:
      type: object
      additionalProperties: true
