# Lucid Developer Documentation Documentation > Lucid provides powerful APIs that enable developers to add visual collaboration to their product or workflow. Fetch the complete documentation index at: https://lucid.readme.io/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version. ## API Reference: Lucid Rest API - [Lucid REST API](https://lucid.readme.io/reference/overview.md) - [Headers](https://lucid.readme.io/reference/headers.md) - [Authentication Methods](https://lucid.readme.io/reference/authentication-methods.md) - [Keeping your API credentials secure](https://lucid.readme.io/reference/keeping-your-api-credentials-secure.md) - [Lucid's FedRAMP environment](https://lucid.readme.io/reference/lucids-fedramp-environment.md) - [Using API Keys](https://lucid.readme.io/reference/using-api-keys.md) - [Creating a key](https://lucid.readme.io/reference/creating-a-key.md) - [Using the key](https://lucid.readme.io/reference/using-the-key.md) - [API Key Grants](https://lucid.readme.io/reference/api-key-grants.md) - [Using OAuth 2.0](https://lucid.readme.io/reference/using-oauth-20.md) - [Client Creation](https://lucid.readme.io/reference/client-creation.md) - [Authorization endpoints](https://lucid.readme.io/reference/authorization-endpoints.md) - [Obtaining an access token](https://lucid.readme.io/reference/obtaining-an-access-token.md) - [Using the access token](https://lucid.readme.io/reference/using-the-access-token.md) - [Refreshing the access token](https://lucid.readme.io/reference/refreshing-the-access-token.md) - [Refresh token example script](https://lucid.readme.io/reference/refresh-token-example-script.md) - [Access Scopes](https://lucid.readme.io/reference/access-scopes.md) - [Limitations](https://lucid.readme.io/reference/limitations.md) - [General OAuth 2.0 errors](https://lucid.readme.io/reference/general-oauth-20-errors.md) - [Create or Refresh Access Token](https://lucid.readme.io/reference/createorrefreshaccesstoken.md) - [Introspect Access Token](https://lucid.readme.io/reference/introspectaccesstoken.md) - [Revoke Access Token](https://lucid.readme.io/reference/revokeaccesstoken.md): Regardless of which token is revoked, all tokens from that authorization grant will become invalid. - [Reference](https://lucid.readme.io/reference/reference-rest.md) - [Accounts](https://lucid.readme.io/reference/accounts.md) - [Get Account Information](https://lucid.readme.io/reference/getaccountinformation.md): Retrieves basic information about the authenticated account. - [Get Classifications](https://lucid.readme.io/reference/getclassifications.md): Returns the paginated list of classifications configured for the authenticated account. Deleted classifications are excluded from results. - [Get Statuses](https://lucid.readme.io/reference/getstatuses.md): Returns the paginated list of statuses configured for the authenticated account. Deleted statuses are excluded from results. - [Create Legal Hold](https://lucid.readme.io/reference/createlegalhold.md): Creates a new legal hold on an Enterprise Shield account with specified parameters including title, description, keywords, and start/end times. - [Get Legal Holds](https://lucid.readme.io/reference/getlegalholds.md): Retrieves all legal holds configured for the authenticated account. The results are paginated. - [Add Legal Hold Users](https://lucid.readme.io/reference/addlegalholdusers.md): Adds users to a specified legal hold. This action can only be performed for legal holds that have not yet started. - [Remove Legal Hold Users](https://lucid.readme.io/reference/removelegalholdusers.md): Removes users from a specified legal hold. This action can only be performed for legal holds that have not yet started. - [Edit Legal Hold](https://lucid.readme.io/reference/editlegalhold.md): Modifies an existing legal hold, allowing changes to the title, description, and end time. If the legal hold has not yet started, the start time and keywords can also be updated. - [Release Legal Hold](https://lucid.readme.io/reference/releaselegalhold.md): Releases a legal hold specified by the legalHoldId. Once released, it may take up to 24 hours for the documents to be fully removed from the legal hold restriction. - [Get Legal Hold Users](https://lucid.readme.io/reference/getlegalholdusers.md): Retrieves a paginated list of all users associated with a specified legal hold. - [Get Legal Hold Documents](https://lucid.readme.io/reference/getlegalholddocuments.md): Retrieves a paginated list of all documents associated with a specified legal hold. Documents may continue to appear for up to 24 hours after users are removed from the legal hold, as the system processes the release asynchronously. - [List Licenses for Subscription](https://lucid.readme.io/reference/listsubscriptionlicenses.md): Lists all licenses associated with a specific subscription. This endpoint is paginated. - [List User Licenses](https://lucid.readme.io/reference/listuserlicenses.md): Retrieves all licenses that have been granted to a specific user on the account. - [Grant User License](https://lucid.readme.io/reference/grantuserlicense.md): Grants a license to a user from a specified subscription. If the user already has a license on the given subscription, the existing license is returned. - [Collaboration](https://lucid.readme.io/reference/collaboration.md) - [Get Document User Collaborator](https://lucid.readme.io/reference/getdocumentusercollaborators.md): Retrieves information about a specific user's collaboration access level for a given document, including the sharing permissions and role that the user has been granted. - [Create/Update Document User Collaborator](https://lucid.readme.io/reference/putdocumentusercollaborators.md): Updates the collaborator role for a user on a document. If the user did not previously have access to the document, they will be granted access and a new collaborator record will be created. - [Delete Document User Collaborator](https://lucid.readme.io/reference/deletedocumentusercollaborators.md): Revokes all collaborator access to a document for the given user. The user may still have access to the document through other means such as shared folders. Cannot be used to remove the document owner's access. - [List Document User Collaborators](https://lucid.readme.io/reference/listdocumentusercollaborators.md): Retrieves information about all collaborators on the provided document. Supports pagination for managing large result sets. - [Get Document Team Collaborator](https://lucid.readme.io/reference/getdocumentteamcollaborator.md): Returns information about the given team's collaboration on the given document, including the team's access and collaboration permissions. - [Create/Update Document Team Collaborator](https://lucid.readme.io/reference/putdocumentteamcollaborator.md): Updates the details of the given team's collaboration on the given document, or adds the team as a collaborator on the document if it isn't already a collaborator. - [Delete Document Team Collaborator](https://lucid.readme.io/reference/deletedocumentteamcollaborator.md): Removes the given team as a collaborator on the given document. - [Get Folder User Collaborator](https://lucid.readme.io/reference/getfolderusercollaborators.md): Retrieves information about a specific user's direct collaborator access to a given folder. A user having access to a folder through one of the folder's ancestors will not be shown through this API. - [Create/Update Folder User Collaborator](https://lucid.readme.io/reference/putfolderusercollaborator.md): Updates or establishes a user's collaborator access to a given folder. If the user does not already have access, a new Folder User Collaborator Resource is created. Collaborators cannot be given the role "owner", and the role of the folder's owner cannot be modified. - [Delete Folder User Collaborator](https://lucid.readme.io/reference/deletefolderusercollaborator.md): Revokes a user's direct collaborator access to a given folder. The user may still have access to the folder through other means such as shared folders. This action cannot be used to revoke access from the folder owner. - [List Folder User Collaborators](https://lucid.readme.io/reference/listfolderusercollaborators.md): Retrieves all users who have direct collaborator access to a given folder. A user having access to a folder through one of the folder's ancestors will not be shown through this API. Results are paginated. - [Get Folder Group Collaborator](https://lucid.readme.io/reference/getfoldergroupcollaborator.md): Retrieves information about a group's direct collaborator access to a given folder. A group having access to a folder through one of the folder's ancestors will not be shown through this API. - [Create/Update Folder Group Collaborator](https://lucid.readme.io/reference/updatefoldergroupcollaborator.md): Grants a group direct collaborator access to a given folder, or updates the group's role on the folder if it is already a collaborator. - [Delete Folder Group Collaborator](https://lucid.readme.io/reference/deletefoldergroupcollaborator.md): Revokes any direct collaborator access a group has to the given folder. - [List Folder Group Collaborators](https://lucid.readme.io/reference/listfoldergroupcollaborators.md): Retrieves all groups that have been granted direct collaborator access to a given folder. A group having access to a folder through one of the folder's ancestors will not be shown through this API. Results are paginated. - [Get Folder Team Collaborator](https://lucid.readme.io/reference/getfolderteamcollaborator.md): Returns information about the given team's collaboration on the given folder. - [Create/Update Folder Team Collaborator](https://lucid.readme.io/reference/putfolderteamcollaborator.md): Updates the details of the given team's collaboration on the given folder, or adds the team as a collaborator on the folder if it is not already a collaborator. - [Delete Folder Team Collaborator](https://lucid.readme.io/reference/deletefolderteamcollaborator.md): Revokes a team's direct collaborator access to the given folder. - [Documents](https://lucid.readme.io/reference/documents.md) - [Document Access](https://lucid.readme.io/reference/document-access.md) - [Document Contents Resource](https://lucid.readme.io/reference/document-contents-resource.md) - [List Document Threads](https://lucid.readme.io/reference/listdocumentthreads.md): Retrieves all comment threads for the specified document. Each thread includes its ID, creation timestamp, and status (open or closed). ## Valid Authentication Methods **API Key Grants:** - `DocumentReadonly` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content:readonly` - `lucidscale.document.content:readonly` - `lucidspark.document.content:readonly` - `lucid.document.content:readonly` - [List Thread Comments](https://lucid.readme.io/reference/listdocumentthreadcomments.md): Retrieves all comments within a specific thread of a document. Each comment includes the author, comment text, creation timestamp, and any assigned users. ## Valid Authentication Methods **API Key Grants:** - `DocumentReadonly` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content:readonly` - `lucidscale.document.content:readonly` - `lucidspark.document.content:readonly` - `lucid.document.content:readonly` - [Post Thread Comment](https://lucid.readme.io/reference/postdocumentthreadcomment.md): Posts a new comment to an existing thread on a document. The comment text must be non-empty and cannot exceed 10,000 characters. ## Valid Authentication Methods **API Key Grants:** - `DocumentEdit` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content` - `lucidscale.document.content` - `lucidspark.document.content` - `lucid.document.content` - [Create from JSON](https://lucid.readme.io/reference/createdocument.md): Creates a new document for the requesting user, with the specified title. Requires `title` and `product`. Optionally, a `parent` folder, `extensionBootstrapData`, or Lucid Standard Import `content` can be provided to customize the new document. > 📘 > > 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. > 📘 ##### Bootstrap Data for Create Document > > Bootstrap data can be attached to the created document to be consumed by a specific [Extension Package](https://lucid.readme.io/docs/lucid-extension-api). See [Bootstrap Data for documents created via API](https://lucid.readme.io/docs/editor-extension-data#bootstrap-data-for-documents-created-via-api) for usage. > 📘 Standard Import > > When `content` is provided, it must conform to the Lucid Standard Import schema. 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` - [Create from Standard Import File](https://lucid.readme.io/reference/createdocumentwithstandardimport.md): 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` - [Create from External File](https://lucid.readme.io/reference/importdocument.md): Imports an external non-Lucid file as a new document within Lucid. The file is 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. > 📘 Board import > > - The `board` import type only accepts pdfs that are exports of digital whiteboards. > - The `board` import type can only be authorized by users with a Lucidspark Enterprise license. > - The `board` import type is experimental and importing the same board may produce varying results over time. ## 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` - [Create Asynchronously](https://lucid.readme.io/reference/importdocumentlongrunning.md): 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. - [Get Document Creation Job Status](https://lucid.readme.io/reference/importdocumentlongrunningstatus.md): Retrieves the status of an asynchronous document import. When the job succeeds, `response.document` contains the imported document resource. - [Copy Document](https://lucid.readme.io/reference/copydocument.md): Copies one of the requesting user's existing documents, with the specified title. Requires `title` and `template` (the ID of the document to copy). Optionally, a `parent` folder can be provided. Note that collaborator permissions are not transferred to the copied document. > 📘 > > 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. ## 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` - [Search Account Documents](https://lucid.readme.io/reference/searchaccountdocuments.md): Returns a list of all documents belonging to the requesting user's account, sorted by created date. This API is exclusive to Enterprise Shield accounts. The endpoint supports pagination and has a per-account rate limit of 300 requests per 5 seconds. - [Get/Export Document](https://lucid.readme.io/reference/getorexportdocument.md): Retrieves information about the requested document or exports it as an image. **Get Document:** Requires at least read-only access. Document owner information is only returned if the requesting user has view access and the document is unpublished. If published, the user must be at least a collaborator. **Export Document:** Exports a given document in a specified image format. When exporting oversized images, the resolution may be automatically scaled down to enable performant API requests. **Admin flow:** Account owners and document admins can access any document belonging to their account without needing a direct share by setting the `Lucid-Request-As: admin` header and authenticating with an admin scope or `DocumentAdmin` API key grant. - [Trash Document](https://lucid.readme.io/reference/trashdocument.md): Moves the specified document to the trash for the requesting user. If the document is shared or part of a team folder, other users will still have access to the document. Requires the user to be the owner of the requested document or have the appropriate team folder permissions. - [Search Documents](https://lucid.readme.io/reference/searchdocuments.md) - [Document Contents](https://lucid.readme.io/reference/getdocumentcontent.md): Retrieves information about the contents of the requested Lucidchart or Lucidspark document. Due to the evolving nature of Lucid documents, an unchanged document may produce varying results over time. - [Update Document](https://lucid.readme.io/reference/updatedocument.md): Updates properties of an existing document. Supports partial updates via JSON for title, parent, and classification. Supports moving documents into (but not out of) repositories by providing a repo_-prefixed repository ID as the parent. **Admin flow:** Account owners and document admins can update the custom tags or classification ID of any document belonging to their account without needing a direct share by setting the `Lucid-Request-As: admin` header and authenticating with a non-read-only admin scope or `DocumentAdmin` API key grant. Title, parent, and status ID updates are not supported in the admin flow. - [Export Document Asynchronously](https://lucid.readme.io/reference/exportdocumentlongrunning.md): Starts an asynchronous export of one or more document pages. Use the returned job ID with the Get Document Export Job Status endpoint to check progress and obtain a download URL after the export succeeds. The `Accept` header selects the export format. The `Idempotency-Key` header marks a job as unique: using a different idempotency key will trigger a new job request, even if the request is identical to a previous one **Admin flow:** Account owners and document admins can export any document in their account by setting `Lucid-Request-As: admin` and authenticating with an admin scope or `DocumentAdmin` API key grant. - [Get Document Export Job Status](https://lucid.readme.io/reference/exportdocumentlongrunningstatus.md): Retrieves the status of an asynchronous document export. When the job succeeds, `response.downloadUrl` contains a temporary URL for downloading the export. - [Create Mermaid Diagram](https://lucid.readme.io/reference/createmermaiddiagram.md): Creates a Mermaid diagram in a document from Mermaid markup. ## Valid Authentication Methods **API Key Grants:** - `DocumentEdit` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content` - `lucidspark.document.content` - `lucid.document.content` - [List Mermaid Diagrams](https://lucid.readme.io/reference/listmermaiddiagrams.md): Returns a paginated list of Mermaid diagrams in a Lucidchart or Lucidspark document. ## Valid Authentication Methods **API Key Grants:** - `DocumentReadonly` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content:readonly` - `lucidspark.document.content:readonly` - `lucid.document.content:readonly` - [Get Mermaid Diagram](https://lucid.readme.io/reference/getmermaiddiagram.md): Returns a Mermaid diagram in a Lucidchart or Lucidspark document, including its markup. ## Valid Authentication Methods **API Key Grants:** - `DocumentReadonly` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content:readonly` - `lucidspark.document.content:readonly` - `lucid.document.content:readonly` - [Update Mermaid Diagram](https://lucid.readme.io/reference/updatemermaiddiagram.md): Replaces the markup of an existing Mermaid diagram in a document. ## Valid Authentication Methods **API Key Grants:** - `DocumentEdit` **OAuth 2.0 User Token Scopes:** - `lucidchart.document.content` - `lucidspark.document.content` - `lucid.document.content` - [Create Asynchronously](https://lucid.readme.io/reference/importdocumentlongrunning.md): 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. - [Get Document Creation Job Status](https://lucid.readme.io/reference/importdocumentlongrunningstatus.md): Retrieves the status of an asynchronous document import. When the job succeeds, `response.document` contains the imported document resource. - [Document Embedding](https://lucid.readme.io/reference/document-embedding.md) - [Embed Viewer](https://lucid.readme.io/reference/documentembeds.md): Display an embed within an iframe. If no embed id was included when creating the token, the iframe first displays a document picker where the user can create and configure a new embed. If an embed id was included, the iframe displays either an embedded document viewer, an embedded editor, or an embed configuration page depending on the token request body and embed settings. - [Generate Embed Session Token](https://lucid.readme.io/reference/documentembedstoken.md): Generates a short-lived, limited-scope temporary access token to allow your app to display embedded Lucid documents in an iframe. The token allows the embedding website to load the document picker and document viewer, but does not grant access to any additional resource within Lucid. - [Folders](https://lucid.readme.io/reference/folders.md) - [Get Folder](https://lucid.readme.io/reference/getfolder.md): Retrieves information about the requested folder. - [Update Folder](https://lucid.readme.io/reference/updatefolder.md): Allows the requester to modify certain fields on a folder. When updating the parent field, the folder moves to the new parent location while its contents remain intact. The requesting user must have both edit and share access to both the old and new parent folders, or the entire update will fail. It is not permitted to update the parent field on Team Folders. Moving folders into or out of Team Folders may encounter permission-related errors, but once a folder is within a Team Folder, reorganization among descendants within that Team Folder can proceed without permission issues. - [Create Folder](https://lucid.readme.io/reference/createfolder.md): Creates a new folder. - [Trash Folder](https://lucid.readme.io/reference/trashfolder.md): Moves the given folder and all of its contents into the trash. - [Restore Folder](https://lucid.readme.io/reference/restorefolder.md): Moves a trashed folder and all of its contents back to their original pre-trash locations. - [Search Folders](https://lucid.readme.io/reference/searchfolders.md): Retrieves information about folders the authenticated user has at least read-only access to. Admin requests using the `Lucid-Request-As: admin` header return all account folders; this capability is exclusive to Enterprise Shield accounts. Results are sorted by creation date and paginated. Rate limited to 300 requests per 5 seconds per account. - [List Folder Contents](https://lucid.readme.io/reference/listfoldercontents.md): Retrieves basic information about the contents of a given folder. Results are paginated. - [List Root Folder Contents](https://lucid.readme.io/reference/listrootfoldercontents.md): Retrieves basic information about the contents of the root folder. Results are paginated. - [List App Folder Contents](https://lucid.readme.io/reference/listappfoldercontents.md): Lists the contents of the OAuth2 client's app project folder for the authenticated user. The app project folder is automatically resolved from the OAuth2 client ID associated with the access token. - [Sharing](https://lucid.readme.io/reference/sharing.md) - [Share Link Security](https://lucid.readme.io/reference/share-link-security.md) - [Accept Share Links](https://lucid.readme.io/reference/acceptsharelink.md): Accepts a share link for a document or folder on behalf of the authenticated user, granting them access to the shared resource. - [Get Document Share Link](https://lucid.readme.io/reference/getdocumentsharelink.md): Retrieves information about a share link on the specified document. This endpoint will only retrieve information about share links created by the same OAuth2.0 client. - [Update Document Share Link](https://lucid.readme.io/reference/updatedocumentsharelink.md): Updates an existing share link's configuration settings on a document. Share links will only be updatable by the OAuth2.0 client that created them. All fields are optional; omitted settings retain their existing values. - [Delete Document Share Link](https://lucid.readme.io/reference/deletedocumentsharelink.md): Deletes a share link on a document. This endpoint will only delete share links that were created by the same OAuth2.0 client making the request. - [Create Document Share Link](https://lucid.readme.io/reference/createdocumentsharelink.md): Creates a new share link on the provided document with the provided settings. The linkSecurity parameter is configurable only for enterprise license accounts but remains required for team accounts. - [Get Folder Share Link](https://lucid.readme.io/reference/getfoldersharelink.md): Retrieves information about a share link on a given folder. This endpoint will only retrieve information about share links created by the same OAuth2.0 client. - [Update Folder Share Link](https://lucid.readme.io/reference/updatefoldersharelink.md): Updates an existing share link to the provided settings. If any settings are omitted, the existing settings are preserved. Share links are only updatable by the OAuth2.0 client that created them. If an expiration is provided outside the account-defined limits, it will be clamped to the maximum allowed time. - [Delete Folder Share Link](https://lucid.readme.io/reference/deletefoldersharelink.md): Deletes a share link from a folder. This endpoint will only delete share links created by the same OAuth2.0 client. - [Create Folder Share Link](https://lucid.readme.io/reference/createfoldersharelink.md): Creates a new share link on the provided folder with the provided settings. The `linkSecurity` parameter is only configurable for enterprise license users but is still required for team accounts. If an expiration is provided outside account-defined limits, it will be clamped to the maximum allowed time. - [Transfer User Content](https://lucid.readme.io/reference/transferusercontent.md): Transfers ownership of a user's Lucid documents, folders, custom shape libraries, and Lucidscale objects to another user on the same account. The recipient gains ownership and edit/share permissions for team folders the original owner could access. Notification emails are sent to both users upon completion. - [Users](https://lucid.readme.io/reference/users-1.md) - [Get User](https://lucid.readme.io/reference/getuser.md): Retrieves information about the requested user. The requested user must be on the authenticated account. - [List Users](https://lucid.readme.io/reference/listusers.md): Retrieves information about all users on the authenticated account. - [Create User](https://lucid.readme.io/reference/createuser.md): Creates a new user and adds them to the authenticated account. Licenses are automatically assigned to the new user based on the account's auto-licensing configuration. Only available to Enterprise accounts. - [Search Users By Email](https://lucid.readme.io/reference/useremailsearch.md): Retrieves information about all users on the authenticated account whose email is provided. Matching is case-insensitive and requires an exact match; emails that do not correspond to a user on the account are excluded from results. - [Get Profile](https://lucid.readme.io/reference/getuserprofile.md): Retrieves basic information about the authenticated user. - [Unfurling](https://lucid.readme.io/reference/unfurling.md) - [Describe Link](https://lucid.readme.io/reference/describelink.md): Retrieve metadata about a Lucid document from its URL, including the document title, product, and type. Use this to generate rich link previews (unfurling) in external applications. - [Direct Embed](https://lucid.readme.io/reference/directembed.md): Display an embed within an iframe. If the clientId is valid with the registered embed domain in the developer portal, the iframe will show either a login page or an embedded document viewer depending on the user's authorization status via browser cookies. - [Embedding Utils](https://lucid.readme.io/reference/embedding-utils.md) - [Get Document Embed](https://lucid.readme.io/reference/getembedinformation.md): Retrieves limited metadata about the embedded document. If the embed is a snapshot-version embed, the metadata will be drawn from the state of the document at the time that the snapshot was created. - [Delete Document Embed](https://lucid.readme.io/reference/deleteembed.md): Deletes an existing document embed. This will cause the document viewer to fail when attempting to load this document embed. - [Get Document Embed Document](https://lucid.readme.io/reference/getembeddocument.md): Retrieves limited metadata about an embedded document. If the embed is a snapshot-version embed, the metadata will be drawn from the state of the document at the time that the snapshot was created. - [Create Document Embed](https://lucid.readme.io/reference/createembed.md): Creates an embed resource associated with a particular document. The request must be authenticated with an OAuth 2.0 token that has access to the document being embedded. - [Change Document Embed Version](https://lucid.readme.io/reference/changeembedversion.md): Updates the version type of an existing document embed. When called with an embedVersion of "snapshot-version", the endpoint associates the existing embed with a snapshot of the document's current state. Updating an embed's version to snapshot-version cannot be reversed. - [Generate Document Picker Token](https://lucid.readme.io/reference/generatedocumentpickertoken.md): Generates a token that can be used to embed a document picker for the specified product. Only documents for the specified product are shown in the picker. - [Embedded Document Picker](https://lucid.readme.io/reference/embeddeddocumentpicker.md): Displays an embedded document picker within an iframe, allowing users to browse and select documents. Supports optional document creation and auto-selection of newly created documents. - [Audit Logs](https://lucid.readme.io/reference/audit-logs.md) - [Actors And Targets](https://lucid.readme.io/reference/actors-and-targets-1.md) - [Audit Log Events](https://lucid.readme.io/reference/audit-log-events.md) - [Administration](https://lucid.readme.io/reference/administration.md) - [API](https://lucid.readme.io/reference/api.md) - [Content](https://lucid.readme.io/reference/content.md) - [Logins](https://lucid.readme.io/reference/logins.md) - [Team](https://lucid.readme.io/reference/team.md) - [User](https://lucid.readme.io/reference/user.md) - [Get Audit Logs](https://lucid.readme.io/reference/getauditlogs.md): Retrieves audit log events for the account. This API is exclusive to Enterprise Shield accounts. This endpoint is paginated. - [Query Audit Logs](https://lucid.readme.io/reference/queryauditlogs.md): Queries audit log events for the account using filter criteria specified in the request body. This API is exclusive to Enterprise Shield accounts. This endpoint is paginated. - [Teams](https://lucid.readme.io/reference/teams.md) - [List Teams](https://lucid.readme.io/reference/listteams.md): Retrieves information about teams the authenticated user has at least read-only access to. The list of teams returned depends on whether the request was made using user or admin permissions. User permissions return teams the requesting user has access to. Admin permissions return all teams belonging to the account. This endpoint is paginated. - [Create Team](https://lucid.readme.io/reference/createteam.md): Creates a new team for the authenticated user, populated with the given team members. Hidden teams cannot be created via the REST API. Whether the requesting user is automatically added to the team depends on the permission type. With user permissions, the user is automatically added to the team. With admin permissions, the user is not automatically added. - [Get Team](https://lucid.readme.io/reference/getteam.md): Retrieves information about a requested team. The response depends on the permission type used: user permissions require that the authenticated user has access to the team, while admin permissions allow access to any team belonging to the account. - [Update Team](https://lucid.readme.io/reference/updateteam.md): Updates the properties of an existing team, such as its name or type. With user permissions, the team must be one the requesting user has edit access to. With admin permissions, any team belonging to the account can be updated. - [List Users on Team](https://lucid.readme.io/reference/listusersonteam.md): Retrieves basic information about users on a specified team. With user permissions, the authenticated user must have access to the team. With admin permissions, users from any team belonging to the account can be retrieved. This endpoint is paginated. - [Add Users to Team](https://lucid.readme.io/reference/adduserstoteam.md): Adds users to a specified team with assigned roles. With user permissions, the team must be one the requesting user has edit access to. With admin permissions, users can be added to any team belonging to the account. - [Remove Users from Team](https://lucid.readme.io/reference/removeusersfromteam.md): Removes users from a specified team. With user permissions, the team must be one the requesting user has edit access to. With admin permissions, users can be removed from any team belonging to the account. - [Archive Team](https://lucid.readme.io/reference/archiveteam.md): Archives a team, making it inactive. With user permissions, the team must be one the requesting user has edit access to. With admin permissions, any team belonging to the account can be archived. - [Restore Team](https://lucid.readme.io/reference/restoreteam.md): Restores a previously archived team. With user permissions, the team must be one the requesting user has edit access to. With admin permissions, any team belonging to the account can be restored. - [Cloud](https://lucid.readme.io/reference/cloud.md) - [Job-based (asynchronous) endpoints](https://lucid.readme.io/reference/job-based-asynchronous-endpoints.md) - [Credentials](https://lucid.readme.io/reference/credentials.md) - [Generic](https://lucid.readme.io/reference/-generic-.md) - [Get Credential](https://lucid.readme.io/reference/getcredential.md): Get details about a specific credential. - [List Credentials](https://lucid.readme.io/reference/listcredentials.md): List all credentials on your Lucid account. - [Delete Credential](https://lucid.readme.io/reference/deletecredential.md): Delete the specified credential. - [Get AWS External ID](https://lucid.readme.io/reference/getawsexternalid.md): Get the user AWS External ID. A user should use this external ID to create a trust relationship with AWS, which is required to create a credential. - [Create AWS Credential](https://lucid.readme.io/reference/createawscredential.md): Create a new credential for AWS. The external ID generated in the request to Get AWS External ID will be retrieved and included in the request to AWS automatically. - [Update AWS Credential](https://lucid.readme.io/reference/updateawscredential.md): Update an existing credential for AWS. - [Create Azure Credential](https://lucid.readme.io/reference/createazurecredential.md): Create a new credential for Azure. - [Update Azure Credential](https://lucid.readme.io/reference/updateazurecredential.md): Update an existing credential for Azure. - [Create Google Cloud Credential](https://lucid.readme.io/reference/creategooglecloudcredential.md): Create a new credential for Google Cloud. - [Update Google Cloud Credential](https://lucid.readme.io/reference/updategooglecloudcredential.md): Update an existing credential for Google Cloud. - [Data Sources](https://lucid.readme.io/reference/data-sources.md) - [Generic](https://lucid.readme.io/reference/-generic--1.md) - [Get Data Source](https://lucid.readme.io/reference/getdatasource-1.md): Gets a specific existing data source. If the creator of the data source is the user making the request, the link parameters will be returned with the data source. - [List Data Sources](https://lucid.readme.io/reference/listdatasources.md): List all data sources on your Lucid account. - [Delete Data Source](https://lucid.readme.io/reference/deletedatasource-1.md): Delete the specified data source and all related data (collections, schema, items, link parameters). Once deleted, none of the information can be recovered. - [Create AWS Data Source](https://lucid.readme.io/reference/createawsdatasource.md): Create a new data source from AWS data. Returns a jobId that can be used to retrieve the status from the Get "Create AWS Data Source" Job Status endpoint. - [Get "Create AWS Data Source" Job Status](https://lucid.readme.io/reference/getcreateawsdatasourcejobstatus.md): Get the status of a data source creation request started by Create AWS Data Source. - [Update AWS Data Source](https://lucid.readme.io/reference/updateawsdatasource.md): Update an existing AWS data source to reflect the latest state of data in AWS. Optionally updates the resources and regions included in the data source as well. Returns a jobId that can be used to check the status via the Get "Update AWS Data Source" Job Status endpoint. - [Update AWS Data Source from File](https://lucid.readme.io/reference/updateawsdatasourcefromfile.md): Update an existing AWS data source to reflect the state represented in a JSON file exported from AWS directly via the AWS CLI. Returns a jobId that can be used to monitor progress through the Get "Update AWS Data Source" Job Status endpoint. - [Get "Update AWS Data Source" Job Status](https://lucid.readme.io/reference/getupdateawsdatasourcejobstatus.md): Get the status of a data source update request started by Update AWS Data Source or Update AWS Data Source from File. - [Edit AWS Data Source](https://lucid.readme.io/reference/editawsdatasource.md): Edit the metadata of an AWS data source. Metadata refers to any property of the data source that is not related to the data source's cloud data itself. - [Create Azure Data Source](https://lucid.readme.io/reference/createazuredatasource.md): Create a new data source from Azure data. Returns a jobId that can be used to check the status of the operation through the Get "Create Azure Data Source" Job Status endpoint. - [Get "Create Azure Data Source" Job Status](https://lucid.readme.io/reference/getcreateazuredatasourcejobstatus.md): Get the status of a data source creation request started by Create Azure Data Source. - [Update Azure Data Source](https://lucid.readme.io/reference/updateazuredatasource.md): Update an existing Azure data source to reflect the latest state of data in Azure. Optionally updates the resources included in the data source as well. Returns a jobId that can be used to monitor progress through the Get "Update Azure Data Source" Job Status endpoint. - [Update Azure Data Source from File](https://lucid.readme.io/reference/updateazuredatasourcefromfile.md): Update an existing Azure data source to reflect the state represented in a JSON file exported from Azure directly via the Azure CLI. Returns a jobId that can be used to monitor progress through the Get "Update Azure Data Source" Job Status endpoint. - [Get "Update Azure Data Source" Job Status](https://lucid.readme.io/reference/getupdateazuredatasourcejobstatus.md): Get the status of a data source update request started by Update Azure Data Source or Update Azure Data Source from File. - [Edit Azure Data Source](https://lucid.readme.io/reference/editazuredatasource.md): Edit the metadata of an Azure data source. Metadata refers to any property of the data source that is not related to the data source's cloud data itself. - [Create Google Cloud Data Source](https://lucid.readme.io/reference/creategoogleclouddatasource.md): Create a new data source from Google Cloud data. Returns a jobId that can be used to check the status of the operation through the Get "Create Google Cloud Data Source" Job Status endpoint. - [Get "Create Google Cloud Data Source" Job Status](https://lucid.readme.io/reference/getcreategoogleclouddatasourcejobstatus.md): Get the status of a data source creation request started by Create Google Cloud Data Source. - [Update Google Cloud Data Source](https://lucid.readme.io/reference/updategoogleclouddatasource.md): Update an existing Google Cloud data source to reflect the latest state of data in Google Cloud. Optionally updates the resources included in the data source as well. Returns a jobId that can be used to monitor progress through the Get "Update Google Cloud Data Source" Job Status endpoint. - [Update Google Cloud Data Source from File](https://lucid.readme.io/reference/updategoogleclouddatasourcefromfile.md): Update an existing Google Cloud data source to reflect the state represented in a JSON file exported from Google Cloud directly via the Google Cloud CLI. Returns a jobId that can be used to monitor progress through the Get "Update Google Cloud Data Source" Job Status endpoint. - [Get "Update Google Cloud Data Source" Job Status](https://lucid.readme.io/reference/getupdategoogleclouddatasourcejobstatus.md): Get the status of a data source update request started by Update Google Cloud Data Source or Update Google Cloud Data Source from File. - [Edit Google Cloud Data Source](https://lucid.readme.io/reference/editgoogleclouddatasource.md): Edit the metadata of a Google Cloud data source. Metadata refers to any property of the data source that is not related to the data source's cloud data itself. - [Get Fully Supported AWS Resources](https://lucid.readme.io/reference/getfullysupportedawsresources.md): Get a list of all AWS resources fully supported by Lucid Cloud. - [Get Supported AWS Regions](https://lucid.readme.io/reference/getsupportedawsregions.md): Get a list of all AWS regions supported by Lucid Cloud. - [Get Fully Supported Azure Resources](https://lucid.readme.io/reference/getfullysupportedazureresources.md): Get a list of all Azure resources fully supported by Lucid Cloud. - [Get Fully Supported Google Cloud Resources](https://lucid.readme.io/reference/getfullysupportedgooglecloudresources.md): Get a list of all Google Cloud resources fully supported by Lucid Cloud. - [Models](https://lucid.readme.io/reference/models.md) - [Create Model from AWS Data Source](https://lucid.readme.io/reference/createmodelfromawsdatasource.md): Create a new model containing the visualization of data from an AWS data source. Returns a jobId that can be used to retrieve the status from the Get "Create Model from AWS Data Source" Job Status endpoint. - [Get "Create Model from AWS Data Source" Job Status](https://lucid.readme.io/reference/getawsmodelcreationjobstatus.md): Get the status of a model creation request started by Create Model from AWS Data Source. - [Sync Model with AWS Data Source](https://lucid.readme.io/reference/syncmodelfromawsdatasource.md): Sync an existing model containing the visualization of data from an AWS data source, so that it is up-to-date with the data in that data source. Returns a jobId that can be used to get the status from Get "Sync Model with AWS Data Source" Job Status. - [Get "Sync Model with AWS Data Source" Job Status](https://lucid.readme.io/reference/getawsmodelsyncjobstatus.md): Get the status of a model sync request started by Sync Model with AWS Data Source. - [Create Model from Azure Data Source](https://lucid.readme.io/reference/createmodelfromazuredatasource.md): Create a new model containing the visualization of data from an Azure data source. Returns a jobId that can be used to retrieve the status from the Get "Create Model from Azure Data Source" Job Status endpoint. - [Get "Create Model from Azure Data Source" Job Status](https://lucid.readme.io/reference/getazuremodelcreationjobstatus.md): Get the status of a model creation request started by Create Model from Azure Data Source. - [Sync Model with Azure Data Source](https://lucid.readme.io/reference/syncmodelfromazuredatasource.md): Sync an existing model containing the visualization of data from an Azure data source, so that it is up-to-date with the data in that data source. Returns a jobId that can be used to get the status from Get "Sync Model with Azure Data Source" Job Status. - [Get "Sync Model with Azure Data Source" Job Status](https://lucid.readme.io/reference/getazuremodelsyncjobstatus.md): Get the status of a model sync request started by Sync Model with Azure Data Source. - [Create Model from Google Cloud Data Source](https://lucid.readme.io/reference/createmodelfromgoogleclouddatasource.md): Create a new model containing the visualization of data from a Google Cloud data source. Returns a jobId that can be used to retrieve the status from the Get "Create Model from Google Cloud Data Source" Job Status endpoint. - [Get "Create Model from Google Cloud Data Source" Job Status](https://lucid.readme.io/reference/getgooglecloudmodelcreationjobstatus.md): Get the status of a model creation request started by Create Model from Google Cloud Data Source. - [Sync Model with Google Cloud Data Source](https://lucid.readme.io/reference/syncmodelfromgoogleclouddatasource.md): Sync an existing model containing the visualization of data from a Google Cloud data source, so that it is up-to-date with the data in that data source. Returns a jobId that can be used to get the status from Get "Sync Model with Google Cloud Data Source" Job Status. - [Get "Sync Model with Google Cloud Data Source" Job Status](https://lucid.readme.io/reference/getgooglecloudmodelsyncjobstatus.md): Get the status of a model sync request started by Sync Model with Google Cloud Data Source. - [Get Supported AWS View Templates](https://lucid.readme.io/reference/getsupportedawsviewtemplates.md): Get a list of all AWS view templates fully supported by Lucid Cloud. - [Get Supported Azure View Templates](https://lucid.readme.io/reference/getsupportedazureviewtemplates.md): Get a list of all Azure view templates fully supported by Lucid Cloud. - [Get Supported Google Cloud View Templates](https://lucid.readme.io/reference/getsupportedgooglecloudviewtemplates.md): Get a list of all Google Cloud view templates fully supported by Lucid Cloud. - [Repositories](https://lucid.readme.io/reference/repositories.md) - [List Repositories](https://lucid.readme.io/reference/listrepositories.md): Retrieves basic information for all repositories the authenticated user has permission to view. - [Create Repository](https://lucid.readme.io/reference/createrepository.md): Creates a new repository on the account. - [Get Repository](https://lucid.readme.io/reference/getrepository.md): Retrieves basic information for the requested repository, provided the user has at least read-only access. - [List Repository User Collaborators](https://lucid.readme.io/reference/listrepositoryusers.md): List users with roles on a repository. - [Create or Update Repository User Roles](https://lucid.readme.io/reference/addrepositoryusers.md): Manages user roles on a repository, allowing for updating of existing repository users or adding roles for new users on the repository. - [Remove Users from Repository](https://lucid.readme.io/reference/removerepositoryusers.md): Removes one or more users from a repository. - [List Repository Groups](https://lucid.readme.io/reference/listrepositorygroups.md): List groups with repository member access. - [Add Groups as Members on Repository](https://lucid.readme.io/reference/addrepositorygroups.md): Add Groups to a repository. Users in the Group will have repository member access to the specified repository. - [Remove Groups from Repository](https://lucid.readme.io/reference/removerepositorygroups.md): Removes one or more groups from a restricted repository. - [List Subscriptions](https://lucid.readme.io/reference/listsubscriptions.md): Lists all subscriptions on the authenticated user's Lucid account. This endpoint is paginated. - [Get Subscription](https://lucid.readme.io/reference/getsubscription.md): Retrieves details about a specific subscription on the account. - [Shape Libraries](https://lucid.readme.io/reference/shape-libraries.md): Retrieve the standard, custom or installed shape libraries available to the authenticated user. - [List Custom Shape Libraries](https://lucid.readme.io/reference/listcustomshapelibraries.md): Retrieves a paginated list of the custom shape libraries available to the authenticated user. Each entry contains only the library's ID. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [List Shapes in a Custom Shape Library](https://lucid.readme.io/reference/listcustomshapes.md): Retrieves a paginated list of the shapes available within a specific custom shape library. The libraryId and shapeId values together uniquely identify a shape. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [Get Custom Shape](https://lucid.readme.io/reference/getcustomshape.md): Retrieves the details of a single custom shape identified by its library and ID, including its default size and colors. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [List Installed Shape Libraries](https://lucid.readme.io/reference/listinstalledshapelibraries.md): Retrieves a paginated list of the shape libraries installed for the authenticated user. Each entry contains only the library's ID. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [List Shapes in an Installed Shape Library](https://lucid.readme.io/reference/listinstalledshapes.md): Retrieves a paginated list of the shapes available within a specific installed shape library. The libraryId and shapeId values together uniquely identify a shape. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [Get Installed Shape](https://lucid.readme.io/reference/getinstalledshape.md): Retrieves the details of a single installed shape identified by its library and ID, including its default size and colors. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [List Standard Shape Libraries](https://lucid.readme.io/reference/liststandardshapelibraries.md): Retrieves a paginated list of the built-in Lucid shape libraries that are available to use on documents (for example, flowchart, UML, and network). Each entry contains only the library's ID. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [List Shapes in a Standard Shape Library](https://lucid.readme.io/reference/liststandardshapes.md): Retrieves a paginated list of the shapes available within a specific standard shape library. The libraryId and shapeId values together uniquely identify a shape. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder` - [Get Standard Shape](https://lucid.readme.io/reference/getstandardshape.md): Retrieves the details of a single standard shape identified by its library and ID, including its default size and colors. ## Valid Authentication Methods **OAuth 2.0 User Token Scopes:** - `lucid.document.content` - `lucidchart.document.content` - `lucidchart.document.app.folder` - `lucidspark.document.content` - `lucidspark.document.app.folder`