Couchbase · Capability

Couchbase Backup Service REST API — Repositories

Couchbase Backup Service REST API — Repositories. 6 operations. Lead operation: List active backup repositories. Self-contained Naftiko capability covering one Couchbase business surface.

Run with Naftiko CouchbaseRepositories

What You Can Do

GET
Listactiverepositories — List active backup repositories
/v1/api/v1/cluster/self/repository/active
GET
Getactiverepository — Get active repository details
/v1/api/v1/cluster/self/repository/active/{repositoryid}
POST
Createactiverepository — Create an active backup repository
/v1/api/v1/cluster/self/repository/active/{repositoryid}
DELETE
Deleteactiverepository — Delete an active repository
/v1/api/v1/cluster/self/repository/active/{repositoryid}
GET
Listarchivedrepositories — List archived backup repositories
/v1/api/v1/cluster/self/repository/archived
GET
Listimportedrepositories — List imported backup repositories
/v1/api/v1/cluster/self/repository/imported

MCP Tools

list-active-backup-repositories

List active backup repositories

read-only idempotent
get-active-repository-details

Get active repository details

read-only idempotent
create-active-backup-repository

Create an active backup repository

delete-active-repository

Delete an active repository

idempotent
list-archived-backup-repositories

List archived backup repositories

read-only idempotent
list-imported-backup-repositories

List imported backup repositories

read-only idempotent

Capability Spec

backup-service-rest-repositories.yaml Raw ↑
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: $.