---
title: "Create Document with Standard Import File"
method: POST
path: "/v1/documents/create"
tags: ["Document Access"]
---

# Create Document with Standard Import File

`POST /v1/documents/create`

Creates a new document from a Lucid Standard Import file (`.zip` archive) uploaded as multipart/form-data. Requires `file`, `type`, and `product`. Optionally, a `title` and `parent` folder can be provided. If no `title` is provided, the new document's title will be the imported filename.

> 📘
>
> This endpoint can only create a new Lucidchart or Lucidspark document. It cannot modify an existing document's contents.

> 📘 ##### Document Creation Location
>
> When there is no `parent` field on the request, the new document will be created in a default location depending on the authorizing token's scopes.
>
> - If the token authorizing the request uses one of the `document.app` scopes, then the document will be created in an `app-specific folder`.
> - If one of the `document.content` scopes is used, the document will be created in the user's 'My Documents folder'.
> - If both types of scopes are authorized on the token, the `document.content` behavior will take priority and the document will be created in the user's 'My Documents' folder.

> 📘 Standard Import
>
> For more information on how to use the Standard Import, refer to the extensive reference documentation [here](doc:overview-si).
>
> For examples of how to use the Standard Import, refer to the `/standard-import` folder in Lucid's repository of [Sample Lucid REST Applications](https://github.com/lucidsoftware/sample-lucid-rest-applications/tree/main/standard-import). This repo also contains some example `.zip` Standard Import files you can reference or use in your own projects.

## Valid Authentication Methods

**API Key Grants:**
- `DocumentEdit`

**OAuth 2.0 User Token Scopes:**
- `lucidchart.document.content`
- `lucidchart.document.app.folder`
- `lucidspark.document.content`
- `lucidspark.document.app.folder`

## Response `201`

Created with Document resource containing information about the newly created document.

- Document
  - `documentId` string, uuid, required — Unique ID of the document
  - `title` string, required — Title of the document
  - `editUrl` string, uri, required — Link to edit the document
  - `viewUrl` string, uri, required — Link to view the document
  - `version` integer, required — Most recent version
  - `pageCount` integer, required — Number of pages within the document
  - `canEdit` boolean, required — If requesting user can edit the document
  - `created` string, date-time, required — Date and time of when the document was created
  - `creatorId` integer, required — ID of user who created and owns the document
  - `lastModified` string, date-time, required — Date and time of when the document was last modified
  - `lastModifiedUserId` integer, required — ID of user who most recently modified the document
  - `customAttributes` CustomAttribute[], required — List of any custom attributes belonging to the document. Populated for Enterprise Accounts only.
    - `type` 'singleLineText' | 'multiLineText' | 'singleSelectDropdown' | 'multiSelectDropdown' | 'webLink' | 'numericalRange' | 'hierarchicalDropdown', required — The custom attribute type
    - `name` string — Title of the custom attribute. hierarchicalDropdown attributes do not have names.
    - `value` union — The value assigned to the custom attribute. The type of this value is determined by the Attribute Type.
      - string
      - union[]
        - union
          - DataPair — Object representing a key-value pair of data.
            - `name` string, required — Custom data key
            - `value` string, required — Custom data value
          - string
  - `customTags` string[], required — List of any custom tags assigned to the document
  - `product` 'lucidchart' | 'lucidscale' | 'lucidspark', required — The Lucid Suite product that a document was created in.
  - `status` string, nullable — Current assigned status of the document
  - `classification` string, nullable — Current assigned classification of the document
  - `classificationId` string, uuid, nullable — Current assigned classification ID of the document.
  - `trashed` string, date-time, nullable — If defined, the timestamp when the document was moved to the trash
  - `parent` integer, nullable — ID of the parent folder
  - `repository` Repository
    - `repositoryId` string — the ID of the repository
  - `accountId` integer, nullable, required — ID of Lucid account that owns the document
  - `owner` DocumentOwner
    - `id` number — Id of either the user or the account, depending on the type of the document user resource.
    - `type` string — Specifies if the owner resource is referring to a user or an account. Value will be either "user" or "account".
    - `name` string — Full name of the user that owns this document. This field is excluded if this document is owned by an account.

## Other responses

- `400` — Bad Request. * Invalid request body — the provided payload does not conform to the Lucid Standard Import schema.
- `403` — Forbidden. * if the user doesn't have access to or permissions to create within the specified parent folder. * if the token authorizing the request has the document.app scope with a specified parent folder that is outside the app folder's folder tree. * if the token does not have the correct scope for the import type.
- `415` — Unsupported Media Type. The file type provided is not supported.

---

[API](https://skmtc.net/lucid/apis/lucid-rest-api.md) · [All operations](https://skmtc.net/lucid/apis/lucid-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lucid/lucid-rest-api/revisions/6a32cb9e1aa7/schema)
