GitLab CI/CD · Capability

GitLab API — group_import_and_export

GitLab API — group_import_and_export. 7 operations. Lead operation: Create a new group import. Self-contained Naftiko capability covering one Gitlab Ci business surface.

Run with Naftiko Gitlab Cigroup_import_and_export

What You Can Do

POST
Postapiv4groupsimport — Create a new group import
/v1/api/v4/groups/import
POST
Postapiv4groupsimportauthorize — Workhorse authorize the group import upload
/v1/api/v4/groups/import/authorize
POST
Postapiv4groupsidexport — Start export
/v1/api/v4/groups/{id}/export
GET
Getapiv4groupsidexportdownload — Download export
/v1/api/v4/groups/{id}/export/download
POST
Postapiv4groupsidexportrelations — Start relations export
/v1/api/v4/groups/{id}/export-relations
GET
Getapiv4groupsidexportrelationsdownload — Download relations export
/v1/api/v4/groups/{id}/export-relations/download
GET
Getapiv4groupsidexportrelationsstatus — Relations export status
/v1/api/v4/groups/{id}/export-relations/status

MCP Tools

create-new-group-import

Create a new group import

workhorse-authorize-group-import-upload

Workhorse authorize the group import upload

start-export

Start export

download-export

Download export

read-only idempotent
start-relations-export

Start relations export

download-relations-export

Download relations export

read-only idempotent
relations-export-status

Relations export status

read-only idempotent

Capability Spec

gitlab-ci-group-import-and-export.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitLab API — group_import_and_export
  description: 'GitLab API — group_import_and_export. 7 operations. Lead operation: Create a new group import. Self-contained
    Naftiko capability covering one Gitlab Ci business surface.'
  tags:
  - Gitlab Ci
  - group_import_and_export
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITLAB_CI_API_KEY: GITLAB_CI_API_KEY
capability:
  consumes:
  - type: http
    namespace: gitlab-ci-group-import-and-export
    baseUri: https://gitlab.com
    description: GitLab API — group_import_and_export business capability. Self-contained, no shared references.
    resources:
    - name: api-v4-groups-import
      path: /api/v4/groups/import
      operations:
      - name: postapiv4groupsimport
        method: POST
        description: Create a new group import
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: path
          in: formData
          type: string
          description: Group path
          required: true
        - name: name
          in: formData
          type: string
          description: Group name
          required: true
        - name: file
          in: formData
          type: file
          description: The group export file to be imported
          required: true
        - name: parent_id
          in: formData
          type: integer
          description: The ID of the parent group that the group will be imported into. Defaults to the current user's namespace.
        - name: organization_id
          in: formData
          type: integer
          description: The ID of the organization that the group will be part of.
    - name: api-v4-groups-import-authorize
      path: /api/v4/groups/import/authorize
      operations:
      - name: postapiv4groupsimportauthorize
        method: POST
        description: Workhorse authorize the group import upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v4-groups-id-export
      path: /api/v4/groups/{id}/export
      operations:
      - name: postapiv4groupsidexport
        method: POST
        description: Start export
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
    - name: api-v4-groups-id-export-download
      path: /api/v4/groups/{id}/export/download
      operations:
      - name: getapiv4groupsidexportdownload
        method: GET
        description: Download export
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
    - name: api-v4-groups-id-export_relations
      path: /api/v4/groups/{id}/export_relations
      operations:
      - name: postapiv4groupsidexportrelations
        method: POST
        description: Start relations export
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: postApiV4GroupsIdExportRelations
          in: body
          type: string
          required: true
    - name: api-v4-groups-id-export_relations-download
      path: /api/v4/groups/{id}/export_relations/download
      operations:
      - name: getapiv4groupsidexportrelationsdownload
        method: GET
        description: Download relations export
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: relation
          in: query
          type: string
          description: Group relation name
          required: true
        - name: batched
          in: query
          type: boolean
          description: Whether to download in batches
        - name: batch_number
          in: query
          type: integer
          description: Batch number to download
    - name: api-v4-groups-id-export_relations-status
      path: /api/v4/groups/{id}/export_relations/status
      operations:
      - name: getapiv4groupsidexportrelationsstatus
        method: GET
        description: Relations export status
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: The ID of a group
          required: true
        - name: relation
          in: query
          type: string
          description: Group relation name
  exposes:
  - type: rest
    namespace: gitlab-ci-group-import-and-export-rest
    port: 8080
    description: REST adapter for GitLab API — group_import_and_export. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/v4/groups/import
      name: api-v4-groups-import
      description: REST surface for api-v4-groups-import.
      operations:
      - method: POST
        name: postapiv4groupsimport
        description: Create a new group import
        call: gitlab-ci-group-import-and-export.postapiv4groupsimport
        with:
          path: rest.path
          name: rest.name
          file: rest.file
          parent_id: rest.parent_id
          organization_id: rest.organization_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/import/authorize
      name: api-v4-groups-import-authorize
      description: REST surface for api-v4-groups-import-authorize.
      operations:
      - method: POST
        name: postapiv4groupsimportauthorize
        description: Workhorse authorize the group import upload
        call: gitlab-ci-group-import-and-export.postapiv4groupsimportauthorize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/export
      name: api-v4-groups-id-export
      description: REST surface for api-v4-groups-id-export.
      operations:
      - method: POST
        name: postapiv4groupsidexport
        description: Start export
        call: gitlab-ci-group-import-and-export.postapiv4groupsidexport
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/export/download
      name: api-v4-groups-id-export-download
      description: REST surface for api-v4-groups-id-export-download.
      operations:
      - method: GET
        name: getapiv4groupsidexportdownload
        description: Download export
        call: gitlab-ci-group-import-and-export.getapiv4groupsidexportdownload
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/export-relations
      name: api-v4-groups-id-export-relations
      description: REST surface for api-v4-groups-id-export_relations.
      operations:
      - method: POST
        name: postapiv4groupsidexportrelations
        description: Start relations export
        call: gitlab-ci-group-import-and-export.postapiv4groupsidexportrelations
        with:
          id: rest.id
          postApiV4GroupsIdExportRelations: rest.postApiV4GroupsIdExportRelations
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/export-relations/download
      name: api-v4-groups-id-export-relations-download
      description: REST surface for api-v4-groups-id-export_relations-download.
      operations:
      - method: GET
        name: getapiv4groupsidexportrelationsdownload
        description: Download relations export
        call: gitlab-ci-group-import-and-export.getapiv4groupsidexportrelationsdownload
        with:
          id: rest.id
          relation: rest.relation
          batched: rest.batched
          batch_number: rest.batch_number
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/groups/{id}/export-relations/status
      name: api-v4-groups-id-export-relations-status
      description: REST surface for api-v4-groups-id-export_relations-status.
      operations:
      - method: GET
        name: getapiv4groupsidexportrelationsstatus
        description: Relations export status
        call: gitlab-ci-group-import-and-export.getapiv4groupsidexportrelationsstatus
        with:
          id: rest.id
          relation: rest.relation
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gitlab-ci-group-import-and-export-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitLab API — group_import_and_export. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: create-new-group-import
      description: Create a new group import
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-group-import-and-export.postapiv4groupsimport
      with:
        path: tools.path
        name: tools.name
        file: tools.file
        parent_id: tools.parent_id
        organization_id: tools.organization_id
      outputParameters:
      - type: object
        mapping: $.
    - name: workhorse-authorize-group-import-upload
      description: Workhorse authorize the group import upload
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-group-import-and-export.postapiv4groupsimportauthorize
      outputParameters:
      - type: object
        mapping: $.
    - name: start-export
      description: Start export
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-group-import-and-export.postapiv4groupsidexport
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: download-export
      description: Download export
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-group-import-and-export.getapiv4groupsidexportdownload
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: start-relations-export
      description: Start relations export
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-ci-group-import-and-export.postapiv4groupsidexportrelations
      with:
        id: tools.id
        postApiV4GroupsIdExportRelations: tools.postApiV4GroupsIdExportRelations
      outputParameters:
      - type: object
        mapping: $.
    - name: download-relations-export
      description: Download relations export
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-group-import-and-export.getapiv4groupsidexportrelationsdownload
      with:
        id: tools.id
        relation: tools.relation
        batched: tools.batched
        batch_number: tools.batch_number
      outputParameters:
      - type: object
        mapping: $.
    - name: relations-export-status
      description: Relations export status
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-ci-group-import-and-export.getapiv4groupsidexportrelationsstatus
      with:
        id: tools.id
        relation: tools.relation
      outputParameters:
      - type: object
        mapping: $.