lakeFS · Capability

lakeFS API — repositories

lakeFS API — repositories. 14 operations. Lead operation: list repositories. Self-contained Naftiko capability covering one Lakefs business surface.

Run with Naftiko Lakefsrepositories

What You Can Do

GET
Listrepositories — list repositories
/v1/repositories
POST
Createrepository — create repository
/v1/repositories
GET
Getrepository — get repository
/v1/repositories/{repository}
DELETE
Deleterepository — delete repository
/v1/repositories/{repository}
POST
Dumpsubmit — Backup the repository metadata (tags, commits, branches) and save the backup to the object store.
/v1/repositories/{repository}/dump
GET
Dumpstatus — Status of a repository dump task
/v1/repositories/{repository}/dump
GET
Getrepositorymetadata — get repository metadata
/v1/repositories/{repository}/metadata
POST
Restoresubmit — Restore repository from a dump in the object store
/v1/repositories/{repository}/restore
GET
Restorestatus — Status of a restore request
/v1/repositories/{repository}/restore
GET
Getbranchprotectionrules — get branch protection rules
/v1/repositories/{repository}/settings/branch-protection
PUT
Setbranchprotectionrules — setbranchprotectionrules
/v1/repositories/{repository}/settings/branch-protection
GET
Getgcrules — get repository GC rules
/v1/repositories/{repository}/settings/gc-rules
PUT
Setgcrules — setgcrules
/v1/repositories/{repository}/settings/gc-rules
DELETE
Deletegcrules — deletegcrules
/v1/repositories/{repository}/settings/gc-rules

MCP Tools

list-repositories

list repositories

read-only idempotent
create-repository

create repository

get-repository

get repository

read-only idempotent
delete-repository

delete repository

idempotent
backup-repository-metadata-tags-commits

Backup the repository metadata (tags, commits, branches) and save the backup to the object store.

status-repository-dump-task

Status of a repository dump task

read-only idempotent
get-repository-metadata

get repository metadata

read-only idempotent
restore-repository-dump-object-store

Restore repository from a dump in the object store

status-restore-request

Status of a restore request

read-only idempotent
get-branch-protection-rules

get branch protection rules

read-only idempotent
setbranchprotectionrules

setbranchprotectionrules

idempotent
get-repository-gc-rules

get repository GC rules

read-only idempotent
setgcrules

setgcrules

idempotent
deletegcrules

deletegcrules

idempotent

Capability Spec

lakefs-repositories.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: lakeFS API — repositories
  description: 'lakeFS API — repositories. 14 operations. Lead operation: list repositories. Self-contained Naftiko capability
    covering one Lakefs business surface.'
  tags:
  - Lakefs
  - repositories
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    LAKEFS_API_KEY: LAKEFS_API_KEY
capability:
  consumes:
  - type: http
    namespace: lakefs-repositories
    baseUri: ''
    description: lakeFS API — repositories business capability. Self-contained, no shared references.
    resources:
    - name: repositories
      path: /repositories
      operations:
      - name: listrepositories
        method: GET
        description: list repositories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createrepository
        method: POST
        description: create repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: bare
          in: query
          type: boolean
          description: If true, create a bare repository with no initial commit and branch
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: repositories-repository
      path: /repositories/{repository}
      operations:
      - name: getrepository
        method: GET
        description: get repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: deleterepository
        method: DELETE
        description: delete repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: force
          in: query
          type: boolean
          description: Bypass read-only protection and delete the repository
    - name: repositories-repository-dump
      path: /repositories/{repository}/dump
      operations:
      - name: dumpsubmit
        method: POST
        description: Backup the repository metadata (tags, commits, branches) and save the backup to the object store.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: dumpstatus
        method: GET
        description: Status of a repository dump task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: task_id
          in: query
          type: string
          required: true
    - name: repositories-repository-metadata
      path: /repositories/{repository}/metadata
      operations:
      - name: getrepositorymetadata
        method: GET
        description: get repository metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repositories-repository-restore
      path: /repositories/{repository}/restore
      operations:
      - name: restoresubmit
        method: POST
        description: Restore repository from a dump in the object store
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: restorestatus
        method: GET
        description: Status of a restore request
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: task_id
          in: query
          type: string
          required: true
    - name: repositories-repository-settings-branch_protection
      path: /repositories/{repository}/settings/branch_protection
      operations:
      - name: getbranchprotectionrules
        method: GET
        description: get branch protection rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setbranchprotectionrules
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: If-Match
          in: header
          type: string
          description: if provided, the branch protection rules will be updated only if the current ETag match the provided
            value
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: repositories-repository-settings-gc_rules
      path: /repositories/{repository}/settings/gc_rules
      operations:
      - name: getgcrules
        method: GET
        description: get repository GC rules
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: setgcrules
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deletegcrules
        method: DELETE
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.LAKEFS_API_KEY}}'
  exposes:
  - type: rest
    namespace: lakefs-repositories-rest
    port: 8080
    description: REST adapter for lakeFS API — repositories. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/repositories
      name: repositories
      description: REST surface for repositories.
      operations:
      - method: GET
        name: listrepositories
        description: list repositories
        call: lakefs-repositories.listrepositories
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createrepository
        description: create repository
        call: lakefs-repositories.createrepository
        with:
          bare: rest.bare
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repositories/{repository}
      name: repositories-repository
      description: REST surface for repositories-repository.
      operations:
      - method: GET
        name: getrepository
        description: get repository
        call: lakefs-repositories.getrepository
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleterepository
        description: delete repository
        call: lakefs-repositories.deleterepository
        with:
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repositories/{repository}/dump
      name: repositories-repository-dump
      description: REST surface for repositories-repository-dump.
      operations:
      - method: POST
        name: dumpsubmit
        description: Backup the repository metadata (tags, commits, branches) and save the backup to the object store.
        call: lakefs-repositories.dumpsubmit
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: dumpstatus
        description: Status of a repository dump task
        call: lakefs-repositories.dumpstatus
        with:
          task_id: rest.task_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repositories/{repository}/metadata
      name: repositories-repository-metadata
      description: REST surface for repositories-repository-metadata.
      operations:
      - method: GET
        name: getrepositorymetadata
        description: get repository metadata
        call: lakefs-repositories.getrepositorymetadata
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repositories/{repository}/restore
      name: repositories-repository-restore
      description: REST surface for repositories-repository-restore.
      operations:
      - method: POST
        name: restoresubmit
        description: Restore repository from a dump in the object store
        call: lakefs-repositories.restoresubmit
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: restorestatus
        description: Status of a restore request
        call: lakefs-repositories.restorestatus
        with:
          task_id: rest.task_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repositories/{repository}/settings/branch-protection
      name: repositories-repository-settings-branch-protection
      description: REST surface for repositories-repository-settings-branch_protection.
      operations:
      - method: GET
        name: getbranchprotectionrules
        description: get branch protection rules
        call: lakefs-repositories.getbranchprotectionrules
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setbranchprotectionrules
        description: setbranchprotectionrules
        call: lakefs-repositories.setbranchprotectionrules
        with:
          If-Match: rest.If-Match
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repositories/{repository}/settings/gc-rules
      name: repositories-repository-settings-gc-rules
      description: REST surface for repositories-repository-settings-gc_rules.
      operations:
      - method: GET
        name: getgcrules
        description: get repository GC rules
        call: lakefs-repositories.getgcrules
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setgcrules
        description: setgcrules
        call: lakefs-repositories.setgcrules
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletegcrules
        description: deletegcrules
        call: lakefs-repositories.deletegcrules
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: lakefs-repositories-mcp
    port: 9090
    transport: http
    description: MCP adapter for lakeFS API — repositories. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-repositories
      description: list repositories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.listrepositories
      outputParameters:
      - type: object
        mapping: $.
    - name: create-repository
      description: create repository
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lakefs-repositories.createrepository
      with:
        bare: tools.bare
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-repository
      description: get repository
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.getrepository
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-repository
      description: delete repository
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: lakefs-repositories.deleterepository
      with:
        force: tools.force
      outputParameters:
      - type: object
        mapping: $.
    - name: backup-repository-metadata-tags-commits
      description: Backup the repository metadata (tags, commits, branches) and save the backup to the object store.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lakefs-repositories.dumpsubmit
      outputParameters:
      - type: object
        mapping: $.
    - name: status-repository-dump-task
      description: Status of a repository dump task
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.dumpstatus
      with:
        task_id: tools.task_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-repository-metadata
      description: get repository metadata
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.getrepositorymetadata
      outputParameters:
      - type: object
        mapping: $.
    - name: restore-repository-dump-object-store
      description: Restore repository from a dump in the object store
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: lakefs-repositories.restoresubmit
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: status-restore-request
      description: Status of a restore request
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.restorestatus
      with:
        task_id: tools.task_id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-branch-protection-rules
      description: get branch protection rules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.getbranchprotectionrules
      outputParameters:
      - type: object
        mapping: $.
    - name: setbranchprotectionrules
      description: setbranchprotectionrules
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: lakefs-repositories.setbranchprotectionrules
      with:
        If-Match: tools.If-Match
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-repository-gc-rules
      description: get repository GC rules
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: lakefs-repositories.getgcrules
      outputParameters:
      - type: object
        mapping: $.
    - name: setgcrules
      description: setgcrules
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: lakefs-repositories.setgcrules
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: deletegcrules
      description: deletegcrules
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: lakefs-repositories.deletegcrules
      outputParameters:
      - type: object
        mapping: $.