Sentry · Capability

Sentry Prevent API — Repositories

Sentry Prevent API — Repositories. 5 operations. Lead operation: Sentry Retrieve list of repositories for a given owner. Self-contained Naftiko capability covering one Sentry System business surface.

Run with Naftiko Sentry SystemRepositories

What You Can Do

GET
Listrepositories — Sentry Retrieve list of repositories for a given owner
/v1/organizations/{organization-id-or-slug}/prevent/repositories
GET
Retrieverepository — Sentry Retrieve a single repository for a given owner
/v1/organizations/{organization-id-or-slug}/prevent/repositories/{repo-id}
GET
Listrepositorybranches — Sentry Retrieve list of branches for a given owner and repository
/v1/organizations/{organization-id-or-slug}/prevent/repositories/{repo-id}/branches
GET
Getsyncstatus — Sentry Get syncing status for repositories for an integrated org
/v1/organizations/{organization-id-or-slug}/prevent/sync-status
POST
Syncrepositories — Sentry Sync repositories from an integrated org with GitHub
/v1/organizations/{organization-id-or-slug}/prevent/sync

MCP Tools

sentry-retrieve-list-repositories-given

Sentry Retrieve list of repositories for a given owner

read-only idempotent
sentry-retrieve-single-repository-given

Sentry Retrieve a single repository for a given owner

read-only idempotent
sentry-retrieve-list-branches-given

Sentry Retrieve list of branches for a given owner and repository

read-only idempotent
sentry-get-syncing-status-repositories

Sentry Get syncing status for repositories for an integrated org

read-only idempotent
sentry-sync-repositories-integrated-org

Sentry Sync repositories from an integrated org with GitHub

Capability Spec

sentry-prevent-repositories.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Sentry Prevent API — Repositories
  description: 'Sentry Prevent API — Repositories. 5 operations. Lead operation: Sentry Retrieve list of repositories for
    a given owner. Self-contained Naftiko capability covering one Sentry System business surface.'
  tags:
  - Sentry System
  - Repositories
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SENTRY_SYSTEM_API_KEY: SENTRY_SYSTEM_API_KEY
capability:
  consumes:
  - type: http
    namespace: sentry-prevent-repositories
    baseUri: https://sentry.io/api/0
    description: Sentry Prevent API — Repositories business capability. Self-contained, no shared references.
    resources:
    - name: organizations-organization_id_or_slug-prevent-repositories
      path: /organizations/{organization_id_or_slug}/prevent/repositories/
      operations:
      - name: listrepositories
        method: GET
        description: Sentry Retrieve list of repositories for a given owner
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cursor
          in: query
          type: string
          description: Pagination cursor.
    - name: organizations-organization_id_or_slug-prevent-repositories-repo_id
      path: /organizations/{organization_id_or_slug}/prevent/repositories/{repo_id}/
      operations:
      - name: retrieverepository
        method: GET
        description: Sentry Retrieve a single repository for a given owner
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-organization_id_or_slug-prevent-repositories-repo_id-branches
      path: /organizations/{organization_id_or_slug}/prevent/repositories/{repo_id}/branches/
      operations:
      - name: listrepositorybranches
        method: GET
        description: Sentry Retrieve list of branches for a given owner and repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: cursor
          in: query
          type: string
          description: Pagination cursor.
    - name: organizations-organization_id_or_slug-prevent-sync-status
      path: /organizations/{organization_id_or_slug}/prevent/sync-status/
      operations:
      - name: getsyncstatus
        method: GET
        description: Sentry Get syncing status for repositories for an integrated org
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: organizations-organization_id_or_slug-prevent-sync
      path: /organizations/{organization_id_or_slug}/prevent/sync/
      operations:
      - name: syncrepositories
        method: POST
        description: Sentry Sync repositories from an integrated org with GitHub
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.SENTRY_SYSTEM_API_KEY}}'
  exposes:
  - type: rest
    namespace: sentry-prevent-repositories-rest
    port: 8080
    description: REST adapter for Sentry Prevent API — Repositories. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/organizations/{organization-id-or-slug}/prevent/repositories
      name: organizations-organization-id-or-slug-prevent-repositories
      description: REST surface for organizations-organization_id_or_slug-prevent-repositories.
      operations:
      - method: GET
        name: listrepositories
        description: Sentry Retrieve list of repositories for a given owner
        call: sentry-prevent-repositories.listrepositories
        with:
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organization-id-or-slug}/prevent/repositories/{repo-id}
      name: organizations-organization-id-or-slug-prevent-repositories-repo-id
      description: REST surface for organizations-organization_id_or_slug-prevent-repositories-repo_id.
      operations:
      - method: GET
        name: retrieverepository
        description: Sentry Retrieve a single repository for a given owner
        call: sentry-prevent-repositories.retrieverepository
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organization-id-or-slug}/prevent/repositories/{repo-id}/branches
      name: organizations-organization-id-or-slug-prevent-repositories-repo-id-branches
      description: REST surface for organizations-organization_id_or_slug-prevent-repositories-repo_id-branches.
      operations:
      - method: GET
        name: listrepositorybranches
        description: Sentry Retrieve list of branches for a given owner and repository
        call: sentry-prevent-repositories.listrepositorybranches
        with:
          cursor: rest.cursor
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organization-id-or-slug}/prevent/sync-status
      name: organizations-organization-id-or-slug-prevent-sync-status
      description: REST surface for organizations-organization_id_or_slug-prevent-sync-status.
      operations:
      - method: GET
        name: getsyncstatus
        description: Sentry Get syncing status for repositories for an integrated org
        call: sentry-prevent-repositories.getsyncstatus
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{organization-id-or-slug}/prevent/sync
      name: organizations-organization-id-or-slug-prevent-sync
      description: REST surface for organizations-organization_id_or_slug-prevent-sync.
      operations:
      - method: POST
        name: syncrepositories
        description: Sentry Sync repositories from an integrated org with GitHub
        call: sentry-prevent-repositories.syncrepositories
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: sentry-prevent-repositories-mcp
    port: 9090
    transport: http
    description: MCP adapter for Sentry Prevent API — Repositories. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: sentry-retrieve-list-repositories-given
      description: Sentry Retrieve list of repositories for a given owner
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-prevent-repositories.listrepositories
      with:
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: sentry-retrieve-single-repository-given
      description: Sentry Retrieve a single repository for a given owner
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-prevent-repositories.retrieverepository
      outputParameters:
      - type: object
        mapping: $.
    - name: sentry-retrieve-list-branches-given
      description: Sentry Retrieve list of branches for a given owner and repository
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-prevent-repositories.listrepositorybranches
      with:
        cursor: tools.cursor
      outputParameters:
      - type: object
        mapping: $.
    - name: sentry-get-syncing-status-repositories
      description: Sentry Get syncing status for repositories for an integrated org
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: sentry-prevent-repositories.getsyncstatus
      outputParameters:
      - type: object
        mapping: $.
    - name: sentry-sync-repositories-integrated-org
      description: Sentry Sync repositories from an integrated org with GitHub
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: sentry-prevent-repositories.syncrepositories
      outputParameters:
      - type: object
        mapping: $.