naftiko: 1.0.0-alpha2 info: label: Couchbase Backup Service REST API — Repositories description: 'Couchbase Backup Service REST API — Repositories. 6 operations. Lead operation: List active backup repositories. Self-contained Naftiko capability covering one Couchbase business surface.' tags: - Couchbase - Repositories created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: COUCHBASE_API_KEY: COUCHBASE_API_KEY capability: consumes: - type: http namespace: backup-service-rest-repositories baseUri: https://localhost:8097 description: Couchbase Backup Service REST API — Repositories business capability. Self-contained, no shared references. resources: - name: api-v1-cluster-self-repository-active path: /api/v1/cluster/self/repository/active operations: - name: listactiverepositories method: GET description: List active backup repositories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-cluster-self-repository-active-repositoryId path: /api/v1/cluster/self/repository/active/{repositoryId} operations: - name: getactiverepository method: GET description: Get active repository details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createactiverepository method: POST description: Create an active backup repository outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteactiverepository method: DELETE description: Delete an active repository outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-cluster-self-repository-archived path: /api/v1/cluster/self/repository/archived operations: - name: listarchivedrepositories method: GET description: List archived backup repositories outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-cluster-self-repository-imported path: /api/v1/cluster/self/repository/imported operations: - name: listimportedrepositories method: GET description: List imported backup repositories outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: basic username: '{{env.COUCHBASE_USER}}' password: '{{env.COUCHBASE_PASS}}' exposes: - type: rest namespace: backup-service-rest-repositories-rest port: 8080 description: REST adapter for Couchbase Backup Service REST API — Repositories. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/cluster/self/repository/active name: api-v1-cluster-self-repository-active description: REST surface for api-v1-cluster-self-repository-active. operations: - method: GET name: listactiverepositories description: List active backup repositories call: backup-service-rest-repositories.listactiverepositories outputParameters: - type: object mapping: $. - path: /v1/api/v1/cluster/self/repository/active/{repositoryid} name: api-v1-cluster-self-repository-active-repositoryid description: REST surface for api-v1-cluster-self-repository-active-repositoryId. operations: - method: GET name: getactiverepository description: Get active repository details call: backup-service-rest-repositories.getactiverepository outputParameters: - type: object mapping: $. - method: POST name: createactiverepository description: Create an active backup repository call: backup-service-rest-repositories.createactiverepository with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteactiverepository description: Delete an active repository call: backup-service-rest-repositories.deleteactiverepository outputParameters: - type: object mapping: $. - path: /v1/api/v1/cluster/self/repository/archived name: api-v1-cluster-self-repository-archived description: REST surface for api-v1-cluster-self-repository-archived. operations: - method: GET name: listarchivedrepositories description: List archived backup repositories call: backup-service-rest-repositories.listarchivedrepositories outputParameters: - type: object mapping: $. - path: /v1/api/v1/cluster/self/repository/imported name: api-v1-cluster-self-repository-imported description: REST surface for api-v1-cluster-self-repository-imported. operations: - method: GET name: listimportedrepositories description: List imported backup repositories call: backup-service-rest-repositories.listimportedrepositories outputParameters: - type: object mapping: $. - type: mcp namespace: backup-service-rest-repositories-mcp port: 9090 transport: http description: MCP adapter for Couchbase Backup Service REST API — Repositories. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-active-backup-repositories description: List active backup repositories hints: readOnly: true destructive: false idempotent: true call: backup-service-rest-repositories.listactiverepositories outputParameters: - type: object mapping: $. - name: get-active-repository-details description: Get active repository details hints: readOnly: true destructive: false idempotent: true call: backup-service-rest-repositories.getactiverepository outputParameters: - type: object mapping: $. - name: create-active-backup-repository description: Create an active backup repository hints: readOnly: false destructive: false idempotent: false call: backup-service-rest-repositories.createactiverepository with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-active-repository description: Delete an active repository hints: readOnly: false destructive: true idempotent: true call: backup-service-rest-repositories.deleteactiverepository outputParameters: - type: object mapping: $. - name: list-archived-backup-repositories description: List archived backup repositories hints: readOnly: true destructive: false idempotent: true call: backup-service-rest-repositories.listarchivedrepositories outputParameters: - type: object mapping: $. - name: list-imported-backup-repositories description: List imported backup repositories hints: readOnly: true destructive: false idempotent: true call: backup-service-rest-repositories.listimportedrepositories outputParameters: - type: object mapping: $.