---
title: "Create Asynchronously"
method: POST
path: "/v1/documents/import/jobs"
tags: ["Document Access"]
---

# Create Asynchronously

`POST /v1/documents/import/jobs`

## Request

- Base URL: `https://api.lucid.co`
- URL: `https://api.lucid.co/v1/documents/import/jobs`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://lucid.app/oauth2/authorize`
    - Token URL: `https://api.lucid.co/oauth2/token` scopes: `lucidchart.document.content`, `lucidchart.document.app.folder`, `lucidspark.document.content`, `lucidspark.document.app.folder`
- TypeScript: <https://skmtc.dev/lucid/apis/lucid-rest-api/docs/v1/documents/import/jobs/post.ts> (a function with typed inputs; its response is checked against the schema)

Starts an asynchronous import of a document file. This endpoint will immediately reserve a document ID, but the document is not necessarily created nor populated until the job has succeeded.


The uploaded file must not exceed 50 MB.

Synchronous and asynchronous file imports share a per-account rate limit.

## Headers

- `Idempotency-Key` string

## Request body `multipart/form-data`

- object
  - `file` string, binary, required: The file to import. Maximum size is 50 MB.
  - `type` 'x-application/vnd.lucid.board' | 'x-application/vnd.lucid.bpmn' | 'x-application/vnd.lucid.confluence-onprem' | 'x-application/vnd.lucid.drawio' | 'x-application/vnd.lucid.gliffy' | 'x-application/vnd.lucid.graffle' | 'x-application/vnd.lucid.lucidArchive' | 'x-application/vnd.lucid.miro' | 'x-application/vnd.lucid.mural' | 'x-application/vnd.lucid.standardImport' | 'x-application/vnd.lucid.visio', required: MIME type describing the supplied import file.
  - `product` 'lucidchart' | 'lucidspark': The Lucid Suite product types that can be created.
  - `title` string: Title for the imported document. Defaults to the file name without its extension.
  - `parent` integer: Folder ID in which to create the imported document. Cannot be provided with `team`.
  - `team` string: Team ID whose folder should contain the imported document. Cannot be provided with `parent`.

## Response `200`

OK. Returns the queued or existing import job and the ID reserved for the imported document.

- ImportDocumentJobEnqueueResponse
  - `jobId` string, required: Unique identifier for an asynchronous job
  - `response` ImportDocumentImmediate, required
    - `documentId` string, uuid, required: ID reserved for the document that will be created by the import job.

## Other responses

- `400`: Bad Request. The request is malformed, does not include exactly one file, or contains invalid import parameters.
- `403`: Forbidden. The caller lacks permission to create the requested document or use the requested destination.
- `415`: Unsupported Media Type. The supplied import type is not supported.
- `429`: Too Many Requests. The account exceeded the shared file import limit of 50 requests per minute.

## Changes

- **2026-11-03** `9c2c917ec59c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/lucid/apis/lucid-rest-api/changes/v1/documents/import/jobs/post.md)

---

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