GitLab · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for GitLab Bulk Imports API

7 actions 7 updates phrasing extends openapi/gitlab-bulk-imports-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for GitLab's API. It is a proposal applied on top of the contract, not a document GitLab publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 7

$.info
$.paths['/api/v4/bulk_imports/{import_id}/entities/{entity_id}'].get
$.paths['/api/v4/bulk_imports/{import_id}/entities'].get
$.paths['/api/v4/bulk_imports/{import_id}'].get
$.paths['/api/v4/bulk_imports/entities'].get
$.paths['/api/v4/bulk_imports'].get
$.paths['/api/v4/bulk_imports'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for GitLab Bulk Imports API
  version: 1.0.0
extends: openapi/gitlab-bulk-imports-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 6
- target: $.paths['/api/v4/bulk_imports/{import_id}/entities/{entity_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one entity from a group migration
      effect: read
      questions:
      - How do I check the status of a single group or project inside a migration?
      - Why did one entity in my direct-transfer migration fail?
      instructions:
      - text: Show entity {entity_id} of migration {import_id}.
        slots:
          entity_id: path.entity_id
          import_id: path.import_id
      - text: Get the progress of entity {entity_id} in bulk import {import_id}.
        slots:
          entity_id: path.entity_id
          import_id: path.import_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/bulk_imports/{import_id}/entities'].get
  update:
    x-apievangelist-phrasing:
      intent: List entities in one migration
      effect: read
      questions:
      - Which groups and projects are part of a specific migration?
      - Can I list only the failed entities in one bulk import?
      instructions:
      - text: List the entities in migration {import_id}.
        slots:
          import_id: path.import_id
      - text: Show entities in migration {import_id} with status {status}.
        slots:
          import_id: path.import_id
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/bulk_imports/{import_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a group migration
      effect: read
      questions:
      - How do I check whether a GitLab-to-GitLab migration has finished?
      - What source and status does a specific bulk import have?
      instructions:
      - text: Show migration {import_id}.
        slots:
          import_id: path.import_id
      - text: Get the overall status of bulk import {import_id}.
        slots:
          import_id: path.import_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/bulk_imports/entities'].get
  update:
    x-apievangelist-phrasing:
      intent: List entities across all migrations
      effect: read
      questions:
      - Can I see every group and project I've migrated, across all my imports?
      - Which migrated entities are still in progress across all bulk imports?
      instructions:
      - text: List the entities from all my migrations.
      - text: Show entities across all migrations with status {status}.
        slots:
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/bulk_imports'].get
  update:
    x-apievangelist-phrasing:
      intent: List all group migrations
      effect: read
      questions:
      - What GitLab migrations have I started?
      - Can I list my direct-transfer migrations filtered by status?
      instructions:
      - text: List all my GitLab migrations.
      - text: Show my bulk imports that are {status}, sorted {sort}.
        slots:
          status: query.status
          sort: query.sort
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v4/bulk_imports'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a group or project migration
      effect: write
      questions:
      - How do I migrate a group from another GitLab instance by direct transfer?
      - Can I choose whether projects are migrated along with the group?
      - What access token does the source instance need for a migration?
      instructions:
      - text: Migrate {source_type} {source_full_path} from {url} into namespace {destination_namespace} using token {access_token}.
        slots:
          source_type: requestBody.entities[source_type]
          source_full_path: requestBody.entities[source_full_path]
          url: requestBody.configuration[url]
          destination_namespace: requestBody.entities[destination_namespace]
          access_token: requestBody.configuration[access_token]
      - text: Start a migration of {source_full_path} ({source_type}) from {url} with token {access_token} into {destination_namespace} as slug {destination_slug}.
        slots:
          source_full_path: requestBody.entities[source_full_path]
          source_type: requestBody.entities[source_type]
          url: requestBody.configuration[url]
          access_token: requestBody.configuration[access_token]
          destination_namespace: requestBody.entities[destination_namespace]
          destination_slug: requestBody.entities[destination_slug]
      method: generated
      generated: '2026-09-26'