GitLab · Capability

GitLab API — Bulk Imports

GitLab API — Bulk Imports. 6 operations. Lead operation: GitLab List All GitLab Migrations. Self-contained Naftiko capability covering one Gitlab business surface.

Run with Naftiko GitlabBulk Imports

What You Can Do

GET
Getapiv4bulkimports — GitLab List All GitLab Migrations
/v1/api/v4/bulk-imports
POST
Postapiv4bulkimports — GitLab Start a New GitLab Migration
/v1/api/v4/bulk-imports
GET
Getapiv4bulkimportsentities — GitLab List All GitLab Migrations' Entities
/v1/api/v4/bulk-imports/entities
GET
Getapiv4bulkimportsimportid — GitLab Get GitLab Migration Details
/v1/api/v4/bulk-imports/{import-id}
GET
Getapiv4bulkimportsimportidentities — GitLab List GitLab Migration Entities
/v1/api/v4/bulk-imports/{import-id}/entities
GET
Getapiv4bulkimportsimportidentitiesentityid — GitLab Get GitLab Migration Entity Details
/v1/api/v4/bulk-imports/{import-id}/entities/{entity-id}

MCP Tools

gitlab-list-all-gitlab-migrations

GitLab List All GitLab Migrations

read-only idempotent
gitlab-start-new-gitlab-migration

GitLab Start a New GitLab Migration

gitlab-list-all-gitlab-migrations-2

GitLab List All GitLab Migrations' Entities

read-only idempotent
gitlab-get-gitlab-migration-details

GitLab Get GitLab Migration Details

read-only idempotent
gitlab-list-gitlab-migration-entities

GitLab List GitLab Migration Entities

read-only idempotent
gitlab-get-gitlab-migration-entity

GitLab Get GitLab Migration Entity Details

read-only idempotent

Capability Spec

gitlab-bulk-imports.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitLab API — Bulk Imports
  description: 'GitLab API — Bulk Imports. 6 operations. Lead operation: GitLab List All GitLab Migrations. Self-contained
    Naftiko capability covering one Gitlab business surface.'
  tags:
  - Gitlab
  - Bulk Imports
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITLAB_API_KEY: GITLAB_API_KEY
capability:
  consumes:
  - type: http
    namespace: gitlab-bulk-imports
    baseUri: https://www.gitlab.com/api
    description: GitLab API — Bulk Imports business capability. Self-contained, no shared references.
    resources:
    - name: api-v4-bulk_imports
      path: /api/v4/bulk_imports
      operations:
      - name: getapiv4bulkimports
        method: GET
        description: GitLab List All GitLab Migrations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
        - name: sort
          in: query
          type: string
          description: Return GitLab Migrations sorted in created by `asc` or `desc` order.
        - name: status
          in: query
          type: string
          description: Return GitLab Migrations with specified status
      - name: postapiv4bulkimports
        method: POST
        description: GitLab Start a New GitLab Migration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v4-bulk_imports-entities
      path: /api/v4/bulk_imports/entities
      operations:
      - name: getapiv4bulkimportsentities
        method: GET
        description: GitLab List All GitLab Migrations' Entities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
        - name: sort
          in: query
          type: string
          description: Return GitLab Migrations sorted in created by `asc` or `desc` order.
        - name: status
          in: query
          type: string
          description: Return all GitLab Migrations' entities with specified status
    - name: api-v4-bulk_imports-import_id
      path: /api/v4/bulk_imports/{import_id}
      operations:
      - name: getapiv4bulkimportsimportid
        method: GET
        description: GitLab Get GitLab Migration Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: import_id
          in: path
          type: integer
          description: The ID of user's GitLab Migration
          required: true
    - name: api-v4-bulk_imports-import_id-entities
      path: /api/v4/bulk_imports/{import_id}/entities
      operations:
      - name: getapiv4bulkimportsimportidentities
        method: GET
        description: GitLab List GitLab Migration Entities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: import_id
          in: path
          type: integer
          description: The ID of user's GitLab Migration
          required: true
        - name: status
          in: query
          type: string
          description: Return import entities with specified status
        - name: page
          in: query
          type: integer
          description: Current page number
        - name: per_page
          in: query
          type: integer
          description: Number of items per page
    - name: api-v4-bulk_imports-import_id-entities-entity_id
      path: /api/v4/bulk_imports/{import_id}/entities/{entity_id}
      operations:
      - name: getapiv4bulkimportsimportidentitiesentityid
        method: GET
        description: GitLab Get GitLab Migration Entity Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: import_id
          in: path
          type: integer
          description: The ID of user's GitLab Migration
          required: true
        - name: entity_id
          in: path
          type: integer
          description: The ID of GitLab Migration entity
          required: true
    authentication:
      type: apikey
      key: Private-Token
      value: '{{env.GITLAB_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: gitlab-bulk-imports-rest
    port: 8080
    description: REST adapter for GitLab API — Bulk Imports. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/v4/bulk-imports
      name: api-v4-bulk-imports
      description: REST surface for api-v4-bulk_imports.
      operations:
      - method: GET
        name: getapiv4bulkimports
        description: GitLab List All GitLab Migrations
        call: gitlab-bulk-imports.getapiv4bulkimports
        with:
          page: rest.page
          per_page: rest.per_page
          sort: rest.sort
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postapiv4bulkimports
        description: GitLab Start a New GitLab Migration
        call: gitlab-bulk-imports.postapiv4bulkimports
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/bulk-imports/entities
      name: api-v4-bulk-imports-entities
      description: REST surface for api-v4-bulk_imports-entities.
      operations:
      - method: GET
        name: getapiv4bulkimportsentities
        description: GitLab List All GitLab Migrations' Entities
        call: gitlab-bulk-imports.getapiv4bulkimportsentities
        with:
          page: rest.page
          per_page: rest.per_page
          sort: rest.sort
          status: rest.status
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/bulk-imports/{import-id}
      name: api-v4-bulk-imports-import-id
      description: REST surface for api-v4-bulk_imports-import_id.
      operations:
      - method: GET
        name: getapiv4bulkimportsimportid
        description: GitLab Get GitLab Migration Details
        call: gitlab-bulk-imports.getapiv4bulkimportsimportid
        with:
          import_id: rest.import_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/bulk-imports/{import-id}/entities
      name: api-v4-bulk-imports-import-id-entities
      description: REST surface for api-v4-bulk_imports-import_id-entities.
      operations:
      - method: GET
        name: getapiv4bulkimportsimportidentities
        description: GitLab List GitLab Migration Entities
        call: gitlab-bulk-imports.getapiv4bulkimportsimportidentities
        with:
          import_id: rest.import_id
          status: rest.status
          page: rest.page
          per_page: rest.per_page
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v4/bulk-imports/{import-id}/entities/{entity-id}
      name: api-v4-bulk-imports-import-id-entities-entity-id
      description: REST surface for api-v4-bulk_imports-import_id-entities-entity_id.
      operations:
      - method: GET
        name: getapiv4bulkimportsimportidentitiesentityid
        description: GitLab Get GitLab Migration Entity Details
        call: gitlab-bulk-imports.getapiv4bulkimportsimportidentitiesentityid
        with:
          import_id: rest.import_id
          entity_id: rest.entity_id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: gitlab-bulk-imports-mcp
    port: 9090
    transport: http
    description: MCP adapter for GitLab API — Bulk Imports. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: gitlab-list-all-gitlab-migrations
      description: GitLab List All GitLab Migrations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-bulk-imports.getapiv4bulkimports
      with:
        page: tools.page
        per_page: tools.per_page
        sort: tools.sort
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: gitlab-start-new-gitlab-migration
      description: GitLab Start a New GitLab Migration
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: gitlab-bulk-imports.postapiv4bulkimports
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: gitlab-list-all-gitlab-migrations-2
      description: GitLab List All GitLab Migrations' Entities
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-bulk-imports.getapiv4bulkimportsentities
      with:
        page: tools.page
        per_page: tools.per_page
        sort: tools.sort
        status: tools.status
      outputParameters:
      - type: object
        mapping: $.
    - name: gitlab-get-gitlab-migration-details
      description: GitLab Get GitLab Migration Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-bulk-imports.getapiv4bulkimportsimportid
      with:
        import_id: tools.import_id
      outputParameters:
      - type: object
        mapping: $.
    - name: gitlab-list-gitlab-migration-entities
      description: GitLab List GitLab Migration Entities
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-bulk-imports.getapiv4bulkimportsimportidentities
      with:
        import_id: tools.import_id
        status: tools.status
        page: tools.page
        per_page: tools.per_page
      outputParameters:
      - type: object
        mapping: $.
    - name: gitlab-get-gitlab-migration-entity
      description: GitLab Get GitLab Migration Entity Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: gitlab-bulk-imports.getapiv4bulkimportsimportidentitiesentityid
      with:
        import_id: tools.import_id
        entity_id: tools.entity_id
      outputParameters:
      - type: object
        mapping: $.