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

# Create a new status override



## OpenAPI

````yaml /openapi/api-docs.yaml post /v1/status-overrides
openapi: 3.0.3
info:
  title: StatusStack API
  description: >
    API for managing status monitoring, incidents, stacks, and website
    monitoring.


    You can import this specification directly into Postman, Insomnia or any
    other

    OpenAPI-compatible client.


    Only the operations documented here are part of the supported public API.
    Any other

    endpoint is unstable and may change without a version bump.
  version: 1.4.0
  contact:
    name: StatusStack Support
    url: https://statusstack.com/support
servers:
  - url: https://statusstack.com/api
    description: Production server
security: []
paths:
  /v1/status-overrides:
    post:
      summary: Create a new status override
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - component_id
                - status
              properties:
                component_id:
                  type: string
                  format: uuid
                stack_id:
                  type: string
                  format: uuid
                  nullable: true
                  description: >-
                    Stack to scope the override to. Only stack-scoped overrides
                    are honoured on public surfaces (status page, embed, badge,
                    public API); omitting this creates a dashboard-only override
                    that is never displayed. Must belong to the API key's team,
                    and the component must be attached to it.
                status:
                  type: string
                  description: >-
                    The four canonical values — operational,
                    degraded_performance, under_maintenance, major_outage — are
                    what the override is stored and returned as. Every other
                    value listed is a legacy spelling, accepted on the wire and
                    normalised onto one of those four.
                  enum:
                    - operational
                    - degraded_performance
                    - under_maintenance
                    - major_outage
                    - ok
                    - up
                    - online
                    - clear
                    - degraded
                    - warning
                    - partial
                    - minor
                    - partial_outage
                    - outage
                    - down
                    - offline
                    - alert
                    - critical
                    - major
                    - maintenance
                    - info
                reason:
                  type: string
                  maxLength: 1000
                  nullable: true
                expires_at:
                  type: string
                  format: date-time
      responses:
        '200':
          description: >-
            An override already existed for this component/stack pair and was
            updated in place rather than duplicated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusOverride'
        '201':
          description: Status override created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusOverride'
        '403':
          description: >-
            The API key is not team-scoped, or the caller is not authorised to
            create status overrides.
        '422':
          description: >-
            Validation failed — unknown or out-of-team component_id/stack_id, a
            component that is not attached to the given stack, an invalid
            status, or an expires_at that is not in the future.
      security:
        - bearerAuth: []
components:
  schemas:
    StatusOverride:
      type: object
      properties:
        id:
          type: string
          format: uuid
        component_id:
          type: string
          format: uuid
        stack_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            Stack the override is scoped to. Null means dashboard-only; such an
            override is not shown on any public surface.
        status:
          type: string
          enum:
            - operational
            - degraded_performance
            - under_maintenance
            - major_outage
        reason:
          type: string
          nullable: true
        expires_at:
          type: string
          format: date-time
          nullable: true
        created_by:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        StatusStack authenticates requests with API keys, created via the
        dashboard with

        granular permissions (read, write, delete, admin, *).


        API keys support version compatibility:

        - v1 keys: Can only access v1 endpoints

        - v2 keys: Can access both v1 and v2 endpoints


        Available permissions:

        - `read`: View resources (GET requests)

        - `write`: Create and update resources (POST, PUT requests)

        - `delete`: Delete resources (DELETE requests)

        - `admin`: Administrative access to all resources

        - `*`: Wildcard permission (all actions allowed)

````

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