Spike.sh Components API

Status page component management endpoints

OpenAPI Specification

spike-sh-components-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Spike.sh Alert Rules Components API
  description: 'REST API for managing incidents, on-call schedules, escalation policies, services, integrations, and alerting rules within the Spike.sh incident management platform. Spike.sh provides phone, SMS, WhatsApp, Telegram, Slack, and Microsoft Teams notifications, along with status pages, war rooms, and 80+ integrations.

    '
  version: 1.0.0
  contact:
    name: Spike.sh Support
    url: https://docs.spike.sh
  termsOfService: https://spike.sh/terms
servers:
- url: https://api.spike.sh
  description: Main API server
- url: https://statuspage.spike.sh
  description: Status page API server
security:
- ApiKeyAuth: []
tags:
- name: Components
  description: Status page component management endpoints
paths:
  /api/status-page/{status_page_id}/component:
    get:
      tags:
      - Components
      summary: Get all components
      description: Get all components for a status page.
      operationId: getComponents
      servers:
      - url: https://statuspage.spike.sh
      parameters:
      - name: status_page_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/status-page/{status_page_id}/component/create:
    post:
      tags:
      - Components
      summary: Create component
      description: Create one or more components on a status page.
      operationId: createComponent
      servers:
      - url: https://statuspage.spike.sh
      parameters:
      - name: status_page_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                components:
                  type: array
                  items:
                    type: object
                    required:
                    - name
                    - desc
                    - status
                    properties:
                      name:
                        type: string
                      desc:
                        type: string
                      status:
                        type: string
                        enum:
                        - operational
                        - degraded-performance
                        - partial-outage
                        - critical-outage
                      private:
                        type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/status-page/{status_page_id}/component/{component_id}:
    get:
      tags:
      - Components
      summary: Get single component
      description: Get details for a specific component.
      operationId: getComponent
      servers:
      - url: https://statuspage.spike.sh
      parameters:
      - name: status_page_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /api/status-page/{status_page_id}/component/{component_id}/update:
    post:
      tags:
      - Components
      summary: Update component
      description: Update an existing component on a status page.
      operationId: updateComponent
      servers:
      - url: https://statuspage.spike.sh
      parameters:
      - name: status_page_id
        in: path
        required: true
        schema:
          type: string
      - name: component_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                desc:
                  type: string
                status:
                  type: string
                  enum:
                  - operational
                  - degraded-performance
                  - partial-outage
                  - critical-outage
                private:
                  type: boolean
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Component:
      type: object
      properties:
        _id:
          type: string
        name:
          type: string
        desc:
          type: string
        status:
          type: string
          enum:
          - operational
          - degraded-performance
          - partial-outage
          - critical-outage
        private:
          type: boolean
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message describing the problem
        error:
          type: string
          description: Error type or code
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key generated from https://app.spike.sh/api