---
title: "Start a new offline transfer export"
method: POST
path: "/api/v4/offline_exports"
tags: ["offline_transfers"]
---

# Start a new offline transfer export

`POST /api/v4/offline_exports`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/offline_exports`
- Auth: none declared

Initiates a new offline transfer export. For more information, see https://docs.gitlab.com/user/group/import/offline_transfer_migrations/

## Request body

- PostApiV4OfflineExports: Start a new offline transfer export
  - `bucket` string, required: Name of the object storage bucket where export data is stored
  - `aws_s3_configuration` object: AWS S3 object storage configuration
    - `aws_access_key_id` string, required: AWS S3 access key ID
    - `aws_secret_access_key` string, required: AWS S3 secret access key
    - `region` string, required: AWS S3 object storage region
    - `path_style` boolean: Use path-style URLs instead of virtual-hosted-style URLs
  - `s3_compatible_configuration` object: MinIO or other S3-compatible object storage configuration
    - `aws_access_key_id` string, required: S3-compatible access key ID
    - `aws_secret_access_key` string, required: S3-compatible secret access key
    - `region` string, required: S3-compatible object storage region
    - `endpoint` string, required: Object storage location endpoint
    - `path_style` boolean: Use path-style URLs instead of virtual-hosted-style URLs
  - `gcs_configuration` object: Google Cloud Storage configuration using a service account JSON key
    - `google_project` string, required: Google Cloud project ID
    - `google_json_key_string` string, required: Google Cloud service account JSON key contents
  - `gcs_hmac_configuration` object: Google Cloud Storage configuration using S3-interoperability HMAC keys
    - `google_storage_access_key_id` string, required: GCS HMAC access key ID
    - `google_storage_secret_access_key` string, required: GCS HMAC secret
    - `region` string, required: GCS bucket region
    - `path_style` boolean: Use path-style URLs instead of virtual-hosted-style URLs
  - `gcs_adc_configuration` object: Google Cloud Storage configuration using Application Default Credentials. Available on GitLab Self-Managed or GitLab Dedicated, and must be enabled by an administrator. Only administrators can use these credentials, and the bucket name must start with "gitlab-offline-transfer-". For more information, see https://docs.gitlab.com/administration/settings/import_and_export_settings/#allow-application-default-credentials-for-offline-transfer
    - `google_project` string, required: Google Cloud project ID
  - `entities` object[], required: List of entities to export
    - `full_path` string, required: Relative path of the entity to export

## Response `201`

Start a new offline transfer export

---

[API](https://skmtc.dev/gitlab/apis/gitlab-api.md) - [All operations](https://skmtc.dev/gitlab/apis/gitlab-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitlab/apis/gitlab-api/revisions/b234947ef3f2?raw)
