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: $.