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.
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
# 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'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/gitlab-bulk-imports-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.