Spike.sh Planned Maintenances API
Planned maintenance management endpoints
Planned maintenance management endpoints
openapi: 3.0.3
info:
title: Spike.sh Alert Rules Planned Maintenances 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: Planned Maintenances
description: Planned maintenance management endpoints
paths:
/api/status-page/{status_page_id}/planned-maintenance:
get:
tags:
- Planned Maintenances
summary: Get ongoing planned maintenances
description: Get all currently ongoing planned maintenances for a status page.
operationId: getOngoingPlannedMaintenances
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}/planned-maintenance/upcoming:
get:
tags:
- Planned Maintenances
summary: Get upcoming planned maintenances
description: Get all upcoming planned maintenances for a status page.
operationId: getUpcomingPlannedMaintenances
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}/planned-maintenance/previous:
get:
tags:
- Planned Maintenances
summary: Get previous maintenances
description: Get all previous planned maintenances for a status page.
operationId: getPreviousPlannedMaintenances
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}/planned-maintenance/{pm_id}:
get:
tags:
- Planned Maintenances
summary: Get specific planned maintenance
description: Get details for a specific planned maintenance.
operationId: getPlannedMaintenance
servers:
- url: https://statuspage.spike.sh
parameters:
- name: status_page_id
in: path
required: true
schema:
type: string
- name: pm_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}/planned-maintenance/create:
post:
tags:
- Planned Maintenances
summary: Create planned maintenance
description: Create a new planned maintenance for a status page.
operationId: createPlannedMaintenance
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
required:
- title
- desc
- startDate
- endDate
- startTime
- endTime
properties:
title:
type: string
desc:
type: string
startDate:
type: string
description: Start date in DD/MM/YYYY format
endDate:
type: string
description: End date in DD/MM/YYYY format
startTime:
type: string
description: Start time in HH:MM UTC format
endTime:
type: string
description: End time in HH:MM UTC format
notify:
type: boolean
components:
type: array
items:
type: string
notifyNow:
type: boolean
notifyOnEnd:
type: boolean
reminders:
type: array
items:
type: object
properties:
time:
type: integer
unit:
type: string
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}/planned-maintenance/{pm_id}/update:
post:
tags:
- Planned Maintenances
summary: Edit planned maintenance
description: Edit an existing planned maintenance.
operationId: updatePlannedMaintenance
servers:
- url: https://statuspage.spike.sh
parameters:
- name: status_page_id
in: path
required: true
schema:
type: string
- name: pm_id
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
title:
type: string
desc:
type: string
startDate:
type: string
endDate:
type: string
startTime:
type: string
endTime:
type: string
notify:
type: boolean
components:
type: array
items:
type: string
notifyNow:
type: boolean
notifyOnEnd:
type: boolean
reminders:
type: array
items:
type: object
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:
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