Better Stack · Capability

Better Stack API — Incidents

Better Stack API — Incidents. 6 operations. Lead operation: Better Stack List Incidents. Self-contained Naftiko capability covering one Better Stack business surface.

Run with Naftiko Better StackIncidents

What You Can Do

GET
Listincidents — Better Stack List Incidents
/v1/incidents
POST
Createincident — Better Stack Create Incident
/v1/incidents
GET
Getincident — Better Stack Get Incident
/v1/incidents/{id}
DELETE
Deleteincident — Better Stack Delete Incident
/v1/incidents/{id}
POST
Acknowledgeincident — Better Stack Acknowledge Incident
/v1/incidents/{id}/acknowledge
POST
Resolveincident — Better Stack Resolve Incident
/v1/incidents/{id}/resolve

MCP Tools

better-stack-list-incidents

Better Stack List Incidents

read-only idempotent
better-stack-create-incident

Better Stack Create Incident

better-stack-get-incident

Better Stack Get Incident

read-only idempotent
better-stack-delete-incident

Better Stack Delete Incident

idempotent
better-stack-acknowledge-incident

Better Stack Acknowledge Incident

better-stack-resolve-incident

Better Stack Resolve Incident

Capability Spec

better-stack-incidents.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Better Stack API — Incidents
  description: 'Better Stack API — Incidents. 6 operations. Lead operation: Better Stack List Incidents. Self-contained Naftiko
    capability covering one Better Stack business surface.'
  tags:
  - Better Stack
  - Incidents
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BETTER_STACK_API_KEY: BETTER_STACK_API_KEY
capability:
  consumes:
  - type: http
    namespace: better-stack-incidents
    baseUri: https://uptime.betterstack.com/api/v2
    description: Better Stack API — Incidents business capability. Self-contained, no shared references.
    resources:
    - name: incidents
      path: /incidents
      operations:
      - name: listincidents
        method: GET
        description: Better Stack List Incidents
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_name
          in: query
          type: string
          description: Filter incidents by team name when using a global API token.
        - name: from
          in: query
          type: string
          description: Filter incidents starting from this date (YYYY-MM-DD).
        - name: to
          in: query
          type: string
          description: Filter incidents up to this date (YYYY-MM-DD).
        - name: monitor_id
          in: query
          type: integer
          description: Filter incidents by monitor ID.
        - name: heartbeat_id
          in: query
          type: integer
          description: Filter incidents by heartbeat ID.
        - name: resolved
          in: query
          type: boolean
          description: Filter by resolved status.
        - name: acknowledged
          in: query
          type: boolean
          description: Filter by acknowledged status.
      - name: createincident
        method: POST
        description: Better Stack Create Incident
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: incidents-id
      path: /incidents/{id}
      operations:
      - name: getincident
        method: GET
        description: Better Stack Get Incident
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the incident.
          required: true
      - name: deleteincident
        method: DELETE
        description: Better Stack Delete Incident
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the incident.
          required: true
    - name: incidents-id-acknowledge
      path: /incidents/{id}/acknowledge
      operations:
      - name: acknowledgeincident
        method: POST
        description: Better Stack Acknowledge Incident
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the incident.
          required: true
    - name: incidents-id-resolve
      path: /incidents/{id}/resolve
      operations:
      - name: resolveincident
        method: POST
        description: Better Stack Resolve Incident
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The unique identifier of the incident.
          required: true
    authentication:
      type: bearer
      token: '{{env.BETTER_STACK_API_KEY}}'
  exposes:
  - type: rest
    namespace: better-stack-incidents-rest
    port: 8080
    description: REST adapter for Better Stack API — Incidents. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/incidents
      name: incidents
      description: REST surface for incidents.
      operations:
      - method: GET
        name: listincidents
        description: Better Stack List Incidents
        call: better-stack-incidents.listincidents
        with:
          team_name: rest.team_name
          from: rest.from
          to: rest.to
          monitor_id: rest.monitor_id
          heartbeat_id: rest.heartbeat_id
          resolved: rest.resolved
          acknowledged: rest.acknowledged
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createincident
        description: Better Stack Create Incident
        call: better-stack-incidents.createincident
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/incidents/{id}
      name: incidents-id
      description: REST surface for incidents-id.
      operations:
      - method: GET
        name: getincident
        description: Better Stack Get Incident
        call: better-stack-incidents.getincident
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteincident
        description: Better Stack Delete Incident
        call: better-stack-incidents.deleteincident
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/incidents/{id}/acknowledge
      name: incidents-id-acknowledge
      description: REST surface for incidents-id-acknowledge.
      operations:
      - method: POST
        name: acknowledgeincident
        description: Better Stack Acknowledge Incident
        call: better-stack-incidents.acknowledgeincident
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/incidents/{id}/resolve
      name: incidents-id-resolve
      description: REST surface for incidents-id-resolve.
      operations:
      - method: POST
        name: resolveincident
        description: Better Stack Resolve Incident
        call: better-stack-incidents.resolveincident
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: better-stack-incidents-mcp
    port: 9090
    transport: http
    description: MCP adapter for Better Stack API — Incidents. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: better-stack-list-incidents
      description: Better Stack List Incidents
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: better-stack-incidents.listincidents
      with:
        team_name: tools.team_name
        from: tools.from
        to: tools.to
        monitor_id: tools.monitor_id
        heartbeat_id: tools.heartbeat_id
        resolved: tools.resolved
        acknowledged: tools.acknowledged
      outputParameters:
      - type: object
        mapping: $.
    - name: better-stack-create-incident
      description: Better Stack Create Incident
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: better-stack-incidents.createincident
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: better-stack-get-incident
      description: Better Stack Get Incident
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: better-stack-incidents.getincident
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: better-stack-delete-incident
      description: Better Stack Delete Incident
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: better-stack-incidents.deleteincident
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: better-stack-acknowledge-incident
      description: Better Stack Acknowledge Incident
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: better-stack-incidents.acknowledgeincident
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: better-stack-resolve-incident
      description: Better Stack Resolve Incident
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: better-stack-incidents.resolveincident
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.