OpenAPI Specification
openapi: 3.0.3
info:
title: Spike.sh Alert Rules Integrations 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: Integrations
description: Integration management endpoints
paths:
/integrations:
get:
tags:
- Integrations
summary: Fetch all team integrations
description: Get all integrations for the team.
operationId: getIntegrations
parameters:
- $ref: '#/components/parameters/TeamIdHeader'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/integrations/create:
post:
tags:
- Integrations
summary: Create an integration
description: Create a new integration for the team.
operationId: createIntegration
parameters:
- $ref: '#/components/parameters/TeamIdHeader'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
customName:
type: string
desc:
type: string
slug:
type: string
description: Integration type slug
escalation:
type: string
service:
type: string
repeatEscalation:
type: boolean
ackTimeout:
type: integer
description: Acknowledge timeout in minutes
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'
/integrations/available:
get:
tags:
- Integrations
summary: Fetch available integrations
description: Get a list of all available integration types.
operationId: getAvailableIntegrations
parameters:
- $ref: '#/components/parameters/TeamIdHeader'
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/integrations/{token}:
get:
tags:
- Integrations
summary: Fetch an integration
description: Get details for a specific integration by token.
operationId: getIntegration
parameters:
- name: token
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/TeamIdHeader'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Integration'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/integrations/{token}/archive:
delete:
tags:
- Integrations
summary: Archive an integration
description: Archive (deactivate) a specific integration.
operationId: archiveIntegration
parameters:
- name: token
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/TeamIdHeader'
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'
components:
parameters:
TeamIdHeader:
name: x-team-id
in: header
required: true
schema:
type: string
description: Team identifier. Use GET /teams to retrieve your team ID.
schemas:
Error:
type: object
properties:
message:
type: string
description: Error message describing the problem
error:
type: string
description: Error type or code
Integration:
type: object
properties:
token:
type: string
customName:
type: string
desc:
type: string
slug:
type: string
escalation:
type: string
service:
type: string
repeatEscalation:
type: boolean
ackTimeout:
type: integer
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: API key generated from https://app.spike.sh/api