EvoHub Docs Sign in

On-Call API › Status page publishing

Publish to a status page

Use with AI
View as MarkdownThis page as plain text, for pasting into an AI tool Open in ClaudeAsk Claude questions about this page Open in ChatGPTAsk ChatGPT questions about this page
Connect to Cursor / VS Code / ClaudeSearch and read these docs from your AI tool (MCP server)

MCP server URL

https://docs-dev.evohub.io/mcp

Claude Code

claude mcp add --transport http evohub-docs-docs https://docs-dev.evohub.io/mcp

Claude (claude.ai and Claude Desktop): Settings → Connectors → Add custom connector, and paste the URL above.

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://docs-dev.evohub.io/mcp"
      ]
    }
  }
}

Cursor — ~/.cursor/mcp.json

{
  "mcpServers": {
    "evohub-docs-docs": {
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}

VS Code — .vscode/mcp.json

{
  "servers": {
    "evohub-docs-docs": {
      "type": "http",
      "url": "https://docs-dev.evohub.io/mcp"
    }
  }
}
POST/api/v1/incidents/{id}/publish

Publishes the incident to one of the organization's status pages. From then on status changes, timeline entries and title or severity edits are relayed to the public incident.

impact defaults to the incident's severity. message is the first public update; it defaults to the incident's summary, or a generic line.

Permission (API-key scope): oncall:incident:write.

Authorization

Any one of:

Parameters

Path parameters

  • id string required
    The incident's id.
    Example: 2e7f9a1b-3c4d-4e5f-8a9b-0c1d2e3f4a5b

Request body required

Content type: application/json

Type: IncidentPublish

  • page_id string required
    The status page to publish to.
  • impact string
    Defaults to the incident's severity.
    One of: none minor major critical
  • affected_component_ids array of string
  • message string
    The first public update.

Responses

201

Published.

Content type: application/json

Type: object

  • data IncidentPublication required
    Show IncidentPublication properties
    • published boolean required
    • status_page_id string
    • status_incident_id string
      The incident's id on the status page.
  • success boolean required
    Value: true

400

The body is not JSON (INVALID_BODY), page_id is empty, or impact is not one of none, minor, major, critical (VALIDATION_FAILED).

Content type: application/json

Type: ValidationError

  • error object required
    • code string required
      Value: VALIDATION_FAILED
    • message string required
    • details array of object required
      • field string
      • message string

401

No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

403

The key lacks the scope this endpoint needs (FORBIDDEN).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

404

No incident with this id in your organization (NOT_FOUND).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

409

The incident is already published (ALREADY_PUBLISHED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

429

Too many requests (RATE_LIMITED). Wait Retry-After seconds.

Headers

  • Retry-After integer
    Seconds to wait.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

500

Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

502

The status page did not accept the incident (STATUS_PUBLISH_FAILED).

Content type: application/json

Type: Error

  • error object required
    • code string required
      Machine-readable code. Branch on this.
    • message string required
      Human-readable explanation.

Example request

curl -X POST 'https://evohub.io/api/v1/incidents/2e7f9a1b-3c4d-4e5f-8a9b-0c1d2e3f4a5b/publish' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer <TOKEN>' \
  -d '{
  "impact": "major",
  "message": "We are investigating failed card payments.",
  "page_id": "page_1f2e3d4c",
  "affected_component_ids": [
    "comp_payments"
  ]
}'

Last updated