Documentation
Documentation
https://docs.gitlab.com/api/
APIReference
https://docs.gitlab.com/api/api_resources/
Authentication
https://docs.gitlab.com/api/rest/authentication/
swagger: '2.0'
info:
title: GitLab access_requests imports API
version: v4
description: Operations related to access requests
host: gitlab.com
produces:
- application/json
tags:
- name: imports
description: Operations about imports
paths:
/api/v4/bulk_imports:
post:
summary: Start a new GitLab Migration
description: This feature was introduced in GitLab 14.2.
produces:
- application/json
consumes:
- application/x-www-form-urlencoded
parameters:
- in: formData
name: configuration[url]
description: Source GitLab instance URL
type: string
required: true
- in: formData
name: configuration[access_token]
description: Access token to the source GitLab instance
type: string
required: true
- in: formData
name: entities[source_type]
description: Source entity type
type: array
required: true
items:
type: string
enum:
- group_entity
- project_entity
- in: formData
name: entities[source_full_path]
description: Relative path of the source entity to import
type: array
required: true
example: '''source/full/path'' not ''https://example.com/source/full/path'''
items:
type: string
- in: formData
name: entities[destination_namespace]
description: Destination namespace for the entity
type: array
required: true
example: '''destination_namespace'' or ''destination/namespace'''
items:
type: string
- in: formData
name: entities[destination_slug]
description: Destination slug for the entity
type: array
required: false
example: '''destination_slug'' not ''destination/slug'''
items:
type: string
- in: formData
name: entities[destination_name]
description: 'Deprecated: Use :destination_slug instead. Destination slug for the entity'
type: array
required: false
example: '''destination_slug'' not ''destination/slug'''
items:
type: string
- in: formData
name: entities[migrate_projects]
description: Indicates group migration should include nested projects
type: array
default: true
required: false
items:
type: boolean
- in: formData
name: entities[migrate_memberships]
description: The option to migrate memberships or not
type: array
default: true
required: false
items:
type: boolean
responses:
'201':
description: Start a new GitLab Migration
schema:
$ref: '#/definitions/API_Entities_BulkImport'
'401':
description: Unauthorized
'400':
description: Bad request
'404':
description: Not found
'422':
description: Unprocessable entity
'503':
description: Service unavailable
tags:
- imports
operationId: postApiV4BulkImports
get:
summary: List all GitLab Migrations
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: sort
description: Return GitLab Migrations sorted in created by `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: status
description: Return GitLab Migrations with specified status
type: string
enum:
- created
- started
- finished
- timeout
- failed
- canceled
required: false
responses:
'200':
description: List all GitLab Migrations
schema:
type: array
items:
$ref: '#/definitions/API_Entities_BulkImport'
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: getApiV4BulkImports
/api/v4/bulk_imports/entities:
get:
summary: List all GitLab Migrations' entities
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
- in: query
name: sort
description: Return GitLab Migrations sorted in created by `asc` or `desc` order.
type: string
default: desc
enum:
- asc
- desc
required: false
- in: query
name: status
description: Return all GitLab Migrations' entities with specified status
type: string
enum:
- created
- started
- finished
- timeout
- failed
- canceled
required: false
responses:
'200':
description: List all GitLab Migrations' entities
schema:
type: array
items:
$ref: '#/definitions/API_Entities_BulkImports'
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: getApiV4BulkImportsEntities
/api/v4/bulk_imports/{import_id}:
get:
summary: Get GitLab Migration details
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
responses:
'200':
description: Get GitLab Migration details
schema:
$ref: '#/definitions/API_Entities_BulkImport'
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: getApiV4BulkImportsImportId
/api/v4/bulk_imports/{import_id}/entities:
get:
summary: List GitLab Migration entities
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
- in: query
name: status
description: Return import entities with specified status
type: string
enum:
- created
- started
- finished
- timeout
- failed
- canceled
required: false
- in: query
name: page
description: Current page number
type: integer
format: int32
default: 1
required: false
example: 1
- in: query
name: per_page
description: Number of items per page
type: integer
format: int32
default: 20
required: false
example: 20
responses:
'200':
description: List GitLab Migration entities
schema:
type: array
items:
$ref: '#/definitions/API_Entities_BulkImports'
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: getApiV4BulkImportsImportIdEntities
/api/v4/bulk_imports/{import_id}/entities/{entity_id}:
get:
summary: Get GitLab Migration entity details
description: This feature was introduced in GitLab 14.1.
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
- in: path
name: entity_id
description: The ID of GitLab Migration entity
type: integer
format: int32
required: true
responses:
'200':
description: Get GitLab Migration entity details
schema:
$ref: '#/definitions/API_Entities_BulkImports'
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: getApiV4BulkImportsImportIdEntitiesEntityId
/api/v4/bulk_imports/{import_id}/entities/{entity_id}/failures:
get:
summary: Get GitLab Migration entity failures
description: This feature was introduced in GitLab 16.6
produces:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
- in: path
name: entity_id
description: The ID of GitLab Migration entity
type: integer
format: int32
required: true
responses:
'200':
description: Get GitLab Migration entity failures
schema:
$ref: '#/definitions/API_Entities_BulkImports_EntityFailure'
'401':
description: Unauthorized
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: getApiV4BulkImportsImportIdEntitiesEntityIdFailures
/api/v4/bulk_imports/{import_id}/cancel:
post:
summary: Cancel GitLab Migration
description: This feature was introduced in GitLab 17.1
produces:
- application/json
consumes:
- application/json
parameters:
- in: path
name: import_id
description: The ID of user's GitLab Migration
type: integer
format: int32
required: true
responses:
'200':
description: Cancel GitLab Migration
schema:
$ref: '#/definitions/API_Entities_BulkImport'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not found
'503':
description: Service unavailable
tags:
- imports
operationId: postApiV4BulkImportsImportIdCancel
/api/v4/import/github/gists:
post:
summary: Import User Gists
description: This feature was introduced in GitLab 15.8
produces:
- application/json
consumes:
- application/json
parameters:
- name: postApiV4ImportGithubGists
in: body
required: true
schema:
$ref: '#/definitions/postApiV4ImportGithubGists'
responses:
'202':
description: Import User Gists
'401':
description: Unauthorized
'422':
description: Unprocessable Entity
'429':
description: Too Many Requests
tags:
- imports
operationId: postApiV4ImportGithubGists
definitions:
API_Entities_BulkImport:
type: object
properties:
id:
type: integer
format: int32
example: 1
status:
type: string
enum:
- created
- started
- finished
- timeout
- failed
example: finished
source_type:
type: string
example: gitlab
source_url:
type: string
example: https://source.gitlab.com/
created_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
updated_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
has_failures:
type: boolean
example: false
required:
- id
- status
- source_type
- source_url
- created_at
- updated_at
- has_failures
description: API_Entities_BulkImport model
postApiV4ImportGithubGists:
type: object
properties:
personal_access_token:
type: string
description: GitHub personal access token
required:
- personal_access_token
description: Import User Gists
API_Entities_BulkImports:
type: object
properties:
id:
type: integer
format: int32
example: 1
bulk_import_id:
type: integer
format: int32
example: 1
status:
type: string
enum:
- created
- started
- finished
- timeout
- failed
example: created
entity_type:
type: string
enum:
- group
- project
source_full_path:
type: string
example: source_group
destination_full_path:
type: string
example: some_group/source_project
destination_name:
type: string
example: destination_slug
destination_slug:
type: string
example: destination_slug
destination_namespace:
type: string
example: destination_path
parent_id:
type: integer
format: int32
example: 1
namespace_id:
type: integer
format: int32
example: 1
project_id:
type: integer
format: int32
example: 1
created_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
updated_at:
type: string
format: date-time
example: '2012-05-28T04:42:42-07:00'
failures:
type: array
items:
$ref: '#/definitions/API_Entities_BulkImports_EntityFailure'
migrate_projects:
type: boolean
example: true
migrate_memberships:
type: boolean
example: true
has_failures:
type: boolean
example: false
stats:
type: object
required:
- id
- bulk_import_id
- status
- entity_type
- source_full_path
- destination_full_path
- destination_name
- destination_slug
- destination_namespace
- parent_id
- namespace_id
- project_id
- created_at
- updated_at
- failures
- migrate_projects
- migrate_memberships
- has_failures
- stats
description: API_Entities_BulkImports model
API_Entities_BulkImports_EntityFailure:
type: object
properties:
relation:
type: string
example: label
exception_message:
type: string
example: error message
exception_class:
type: string
example: Exception
correlation_id_value:
type: string
example: dfcf583058ed4508e4c7c617bd7f0edd
source_url:
type: string
example: https://source.gitlab.com/group/-/epics/1
source_title:
type: string
example: title
required:
- relation
- exception_message
- exception_class
- correlation_id_value
- source_url
- source_title
description: API_Entities_BulkImports_EntityFailure model
securityDefinitions:
access_token_header:
type: apiKey
name: PRIVATE-TOKEN
in: header
access_token_query:
type: apiKey
name: private_token
in: query