Waroom V0 Public API (0.1.0)

Download OpenAPI specification:

Public API for Waroom incident management

Services

サービス管理

List services

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "services": [
    ],
  • "response_metadata": {
    }
}

Get service architecture context

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "blob": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "service": {
    }
}

Update service architecture context

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "service_architecture_context": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "blob": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "service": {
    }
}

Get service notification Slack channel

Returns the Slack channel configured for incident notifications for this service. Returns 404 when no channel is configured.

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "key": "string"
}

Create or update service notification Slack channel

Sets the Slack channel for incident notifications for this service. The channel name is resolved from the given channel ID (key) via Slack API (conversations.info). If no channel is configured, creates one. If already configured, updates it.

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "service_notification_slack_channel": {
    }
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "key": "string"
}

Delete service notification Slack channel

Removes the Slack channel configured for incident notifications for this service. Returns 404 when no channel is configured.

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get incident document template

Returns the incident document template for this service. When no template is set, returns 200 with blob set to empty string.

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Responses

Response samples

Content type
application/json
{
  • "blob": "string"
}

Update incident document template

Updates the incident document template for this service. Used by ChatGPT to control the structure of generated incident reports.

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "incident_document_template": {
    }
}

Response samples

Content type
application/json
{
  • "blob": "string"
}

Delete incident document template

Removes the incident document template for this service. When no template is set, no-op and returns 204.

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Incidents

インシデント管理

List incidents

Authorizations:
bearerAuth
query Parameters
page
integer
Default: 1
per_page
integer
Default: 50
sort_order
string
Default: "desc"
Enum: "asc" "desc"

Responses

Response samples

Content type
application/json
{
  • "incidents": [
    ],
  • "response_metadata": {
    }
}

Create a new incident

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "incident": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "title": "string",
  • "severity": "string",
  • "status": "string",
  • "root_cause": "string",
  • "experimental": true,
  • "metrics": {
    },
  • "service": {
    },
  • "labels": [
    ],
  • "created_at": "2019-08-24T14:15:22Z"
}

Get incident details

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "title": "string",
  • "severity": "string",
  • "status": "string",
  • "root_cause": "string",
  • "experimental": true,
  • "metrics": {
    },
  • "service": {
    },
  • "labels": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "state_document": "string",
  • "incident_slack_channel": {}
}

Update incident status

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
status
required
string
Enum: "detected" "investigating" "fixing" "resolved" "close"

New status for the incident

Responses

Request samples

Content type
application/json
{
  • "status": "detected"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "status": "string"
}

Update incident severity

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
severity
required
string
Enum: "critical" "high" "low" "info" "unknown"

New severity for the incident

Responses

Request samples

Content type
application/json
{
  • "severity": "critical"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "severity": "string"
}

Create incident metrics (response activity)

Creates an incident response activity to track metrics like TTD, TTA, TTI, TTF, TTR

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
activity_action
required
string
Enum: "triggered" "detected" "investigating" "fixing" "resolved" "close"

The action type for the response activity

triggered_at
string <date-time>

When the activity was triggered (defaults to current time)

Responses

Request samples

Content type
application/json
{
  • "activity_action": "triggered",
  • "triggered_at": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "action": "string",
  • "triggered_at": "2019-08-24T14:15:22Z",
  • "incident": {
    }
}

Action Items

アクションアイテム管理

List action items for an incident

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
query Parameters
page
integer >= 1
per_page
integer [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "action_items": [
    ],
  • "response_metadata": {
    }
}

Create a new action item for an incident

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "action_item": {
    }
}

Response samples

Content type
application/json
{
  • "action_item": {
    }
}

Get action item details

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

Incident UUID

action_item_uuid
required
string <uuid>

Action item UUID

Responses

Response samples

Content type
application/json
{
  • "action_item": {
    }
}

Delete an action item

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

Incident UUID

action_item_uuid
required
string <uuid>

Action item UUID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Labels

ラベル管理

Update incident labels

Replace all labels on an incident with the specified labels

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
label_uuids
Array of strings <uuid> [ items <uuid > ]

Array of label UUIDs to assign to the incident

Responses

Request samples

Content type
application/json
{
  • "label_uuids": [
    ]
}

Response samples

Content type
application/json
{
  • "labels": [
    ]
}

List labels for a service

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

query Parameters
page
integer >= 1
per_page
integer [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "labels": [
    ],
  • "response_metadata": {
    }
}

Create a new label for a service

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "label": {
    }
}

Response samples

Content type
application/json
{
  • "label": {
    }
}

Update a label

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

uuid
required
string <uuid>

Label UUID

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "label": {
    }
}

Response samples

Content type
application/json
{
  • "label": {
    }
}

Delete a label

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

uuid
required
string <uuid>

Label UUID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Postmortems

ポストモーテム管理

List postmortems

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
per_page
integer [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "postmortems": [
    ],
  • "response_metadata": {
    }
}

Create a new postmortem

Authorizations:
bearerAuth
Request Body schema: application/json
required
title
required
string non-empty
blob
string

Postmortem content (markdown)

status
string
Default: "draft"
Enum: "draft" "in_review" "reviewed" "closed"
incident_uuids
Array of strings <uuid> [ items <uuid > ]

Array of incident UUIDs to associate

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "blob": "string",
  • "status": "draft",
  • "incident_uuids": [
    ]
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "title": "string",
  • "blob": "string",
  • "author": "string",
  • "status": "draft",
  • "incidents": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get a postmortem

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "postmortem": {
    }
}

Update a postmortem

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
title
string
blob
string
status
string
Enum: "draft" "in_review" "reviewed" "closed"
incident_uuids
Array of strings <uuid> [ items <uuid > ]

Array of incident UUIDs to associate

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "blob": "string",
  • "status": "draft",
  • "incident_uuids": [
    ]
}

Response samples

Content type
application/json
{
  • "postmortem": {
    }
}

Delete a postmortem

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get postmortem template

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "blob": "string"
}

Update postmortem template

Authorizations:
bearerAuth
Request Body schema: application/json
required
blob
required
string

Template content (markdown)

Responses

Request samples

Content type
application/json
{
  • "blob": "string"
}

Response samples

Content type
application/json
{
  • "blob": "string"
}

Postmortem Templates

ポストモーテムテンプレート管理

List postmortem templates

Returns postmortem templates for the organization.

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
per_page
integer [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "postmortem_templates": [
    ],
  • "response_metadata": {
    }
}

Create a postmortem template

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "postmortem_template": {
    }
}

Response samples

Content type
application/json
{
  • "postmortem_template": {
    }
}

Get a postmortem template by UUID

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

UUID of the postmortem template

Responses

Response samples

Content type
application/json
{
  • "postmortem_template": {
    }
}

Update a postmortem template

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

UUID of the postmortem template

Request Body schema: application/json
required
required
object

Partial update (PATCH). Only include fields to update.

Responses

Request samples

Content type
application/json
{
  • "postmortem_template": {
    }
}

Response samples

Content type
application/json
{
  • "postmortem_template": {
    }
}

Delete a postmortem template

Authorizations:
bearerAuth
path Parameters
uuid
required
string <uuid>

UUID of the postmortem template

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Runbooks

ランブック管理

List runbooks

Returns runbooks for the organization. Tutorial runbook is excluded.

Authorizations:
bearerAuth
query Parameters
page
integer >= 1
per_page
integer [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "runbooks": [
    ],
  • "response_metadata": {
    }
}

Create a runbook

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "runbook": {
    }
}

Response samples

Content type
application/json
{
  • "runbook": {
    }
}

Get a runbook by namespace

Namespace in the URL is path-style without leading slash. For example, use /api/v0/runbooks/default or /api/v0/runbooks/api-server/recovery.

Authorizations:
bearerAuth
path Parameters
namespace
required
string

Namespace without leading slash (e.g. default, api-server/recovery)

Responses

Response samples

Content type
application/json
{
  • "runbook": {
    }
}

Update a runbook

Update a runbook

Authorizations:
bearerAuth
path Parameters
namespace
required
string

Namespace without leading slash

Request Body schema: application/json
required
required
object

Partial update (PATCH). Only include fields to update.

Responses

Request samples

Content type
application/json
{
  • "runbook": {
    }
}

Response samples

Content type
application/json
{
  • "runbook": {
    }
}

Delete a runbook

Delete a runbook

Authorizations:
bearerAuth
path Parameters
namespace
required
string

Namespace without leading slash

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Runbook Rules

ランブックルール管理

List runbook rules for a service

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

query Parameters
page
integer >= 1
per_page
integer [ 1 .. 100 ]

Responses

Response samples

Content type
application/json
{
  • "runbook_rules": [
    ],
  • "response_metadata": {
    }
}

Create a new runbook rule for a service

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "runbook_rule": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "pattern": "string",
  • "target": "title",
  • "priority": 0,
  • "runbook_namespace": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a runbook rule

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

uuid
required
string <uuid>

Runbook rule UUID

Request Body schema: application/json
required
required
object

Responses

Request samples

Content type
application/json
{
  • "runbook_rule": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "pattern": "string",
  • "target": "title",
  • "priority": 0,
  • "runbook_namespace": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete a runbook rule

Authorizations:
bearerAuth
path Parameters
name
required
string

Service name

uuid
required
string <uuid>

Runbook rule UUID

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Incident Description Template

インシデント説明テンプレート(Slack起票時の初期説明文)

Get incident description template

Returns the organization's incident description template.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "blob": "string"
}

Update incident description template

Update the organization's incident description template. Requires Pro plan.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object

Partial update. Only included fields are updated.

Responses

Request samples

Content type
application/json
{
  • "incident_description_template": {
    }
}

Response samples

Content type
application/json
{
  • "blob": "string"
}

Delete incident description template

Delete the organization's incident description template. Requires Pro plan.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}