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