Sentry · Capability

Sentry Error Monitoring API — Issues

Sentry Error Monitoring API — Issues. 5 operations. Lead operation: List issues for an organization. Self-contained Naftiko capability covering one Sentry business surface.

Run with Naftiko SentryIssues

What You Can Do

GET
Listorganizationissues — List issues for an organization
/v1/organizations/{organization-slug}/issues
GET
Retrieveissue — Retrieve an issue
/v1/organizations/{organization-slug}/issues/{issue-id}
PUT
Updateissue — Update an issue
/v1/organizations/{organization-slug}/issues/{issue-id}
DELETE
Deleteissue — Delete an issue
/v1/organizations/{organization-slug}/issues/{issue-id}
GET
Listissueevents — List an issue's events
/v1/organizations/{organization-slug}/issues/{issue-id}/events

MCP Tools

list-issues-organization

List issues for an organization

read-only idempotent
retrieve-issue

Retrieve an issue

read-only idempotent
update-issue

Update an issue

idempotent
delete-issue

Delete an issue

idempotent
list-issue-s-events

List an issue's events

read-only idempotent

Capability Spec

sentry-issues.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Sentry Error Monitoring API — Issues
  description: 'Sentry Error Monitoring API — Issues. 5 operations. Lead operation: List issues for an organization. Self-contained
    Naftiko capability covering one Sentry business surface.'
  tags:
  - Sentry
  - Issues
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SENTRY_API_KEY: SENTRY_API_KEY
capability:
  consumes:
  - type: http
    namespace: sentry-issues
    baseUri: https://sentry.io/api/0
    description: Sentry Error Monitoring API — Issues business capability. Self-contained, no shared references.
    resources:
    - name: organizations-organization_slug-issues
      path: /organizations/{organization_slug}/issues/
      operations:
      - name: listorganizationissues
        method: GET
        description: List issues for an organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: project
          in: query
          type: array
          description: Filter by project ID(s)
        - name: query
          in: query
          type: string
          description: Sentry query string (e.g., "is:unresolved assigned:me")
        - name: statsPeriod
          in: query
          type: string
          description: Time range (e.g., 14d, 24h, 1h)
        - name: start
          in: query
          type: string
        - name: end
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: cursor
          in: query
          type: string
          description: Pagination cursor from previous response
        - name: sort
          in: query
          type: string
    - name: organizations-organization_slug-issues-issue_id
      path: /organizations/{organization_slug}/issues/{issue_id}/
      operations:
      - name: retrieveissue
        method: GET
        description: Retrieve an issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issue_id
          in: path
          type: string
          description: Issue ID
          required: true
      - name: updateissue
        method: PUT
        description: Update an issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issue_id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteissue
        method: DELETE
        description: Delete an issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issue_id
          in: path
          type: string
          required: true
    - name: organizations-organization_slug-issues-issue_id-events
      path: /organizations/{organization_slug}/issues/{issue_id}/events/
      operations:
      - name: listissueevents
        method: GET
        description: List an issue's events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issue_id
          in: path
          type: string
          required: true
        - name: full
          in: query
          type: boolean
          description: Return full event data including stack traces
        - name: limit
          in: query
          type: integer
    authentication:
      type: bearer
      token: '{{env.SENTRY_API_KEY}}'
  exposes:
  - type: rest
    namespace: sentry-issues-rest
    port: 8080
    description: REST adapter for Sentry Error Monitoring API — Issues. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/organizations/{organization-slug}/issues
      name: organizations-organization-slug-issues
      description: REST surface for organizations-organization_slug-issues.
      operations:
      - method: GET
        name: listorganizationissues
        description: List issues for an organization
        call: sentry-issues.listorganizationissues
        with:
          project: rest.project
          query: rest.query
          statsPeriod: rest.statsPeriod
          start: rest.start
          end: rest.end
          limit: rest.limit
          cursor: rest.cursor
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organization-slug}/issues/{issue-id}
      name: organizations-organization-slug-issues-issue-id
      description: REST surface for organizations-organization_slug-issues-issue_id.
      operations:
      - method: GET
        name: retrieveissue
        description: Retrieve an issue
        call: sentry-issues.retrieveissue
        with:
          issue_id: rest.issue_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateissue
        description: Update an issue
        call: sentry-issues.updateissue
        with:
          issue_id: rest.issue_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteissue
        description: Delete an issue
        call: sentry-issues.deleteissue
        with:
          issue_id: rest.issue_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organization-slug}/issues/{issue-id}/events
      name: organizations-organization-slug-issues-issue-id-events
      description: REST surface for organizations-organization_slug-issues-issue_id-events.
      operations:
      - method: GET
        name: listissueevents
        description: List an issue's events
        call: sentry-issues.listissueevents
        with:
          issue_id: rest.issue_id
          full: rest.full
          limit: rest.limit
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: sentry-issues-mcp
    port: 9090
    transport: http
    description: MCP adapter for Sentry Error Monitoring API — Issues. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-issues-organization
      description: List issues for an organization
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-issues.listorganizationissues
      with:
        project: tools.project
        query: tools.query
        statsPeriod: tools.statsPeriod
        start: tools.start
        end: tools.end
        limit: tools.limit
        cursor: tools.cursor
        sort: tools.sort
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-issue
      description: Retrieve an issue
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-issues.retrieveissue
      with:
        issue_id: tools.issue_id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-issue
      description: Update an issue
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: sentry-issues.updateissue
      with:
        issue_id: tools.issue_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-issue
      description: Delete an issue
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: sentry-issues.deleteissue
      with:
        issue_id: tools.issue_id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-issue-s-events
      description: List an issue's events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-issues.listissueevents
      with:
        issue_id: tools.issue_id
        full: tools.full
        limit: tools.limit
      outputParameters:
      - type: object
        mapping: $.