Spike.sh Components API
Status page component management endpoints
Status page component management endpoints
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