openapi: 3.2.0 info: title: Lucid REST Cloud API version: '1.0' description: The Lucid REST API provides programmatic access to manage documents, users, folders, sharing, licensing, and audit logs across the Lucid Suite (Lucidchart, Lucidspark, and Lucidscale). Authenticate via OAuth 2.0 or API key. contact: name: Lucid Developer Platform url: https://developer.lucid.co/ x-documentation: https://developer.lucid.co/reference/api servers: - url: https://api.lucid.co tags: - name: Cloud description: Manage cloud infrastructure credentials, data sources, and architecture diagrams for AWS, Azure, and Google Cloud. paths: /v1/credentials/aws/externalId: get: summary: Get AWS External ID description: 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. operationId: getAwsExternalId tags: - Cloud security: - ApiKey: - CloudReadonly - OAuth2: - cloud.credential:readonly responses: '200': description: OK. Returns the AWS external ID required for cross-account role setup. content: application/json: schema: $ref: '#/components/schemas/AwsCredentialExternalId' /v1/credentials/aws: post: summary: Create AWS Credential description: 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. operationId: createAwsCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddAwsCredentialRequest' responses: '201': description: Created. Returns the newly created AWS credential. content: application/json: schema: $ref: '#/components/schemas/AwsCredentialObject' '400': description: Bad Request. Occurs when the ARN or request parameters are invalid. /v1/credentials/aws/{awsCredentialId}: patch: summary: Update AWS Credential description: Update an existing credential for AWS. operationId: updateAwsCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential parameters: - name: awsCredentialId in: path required: true schema: $ref: '#/components/schemas/AwsCredentialId' description: The ID of the AWS credential to update requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAwsCredentialRequest' responses: '200': description: OK. Returns the updated AWS credential. content: application/json: schema: $ref: '#/components/schemas/AwsCredentialObject' '403': description: Forbidden. Occurs when the credential was not found or the user does not have access to it. /v1/credentials/azure: post: summary: Create Azure Credential description: Create a new credential for Azure. operationId: createAzureCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AddAzureCredentialRequest' responses: '201': description: Created. Returns the newly created Azure credential. content: application/json: schema: $ref: '#/components/schemas/AzureCredentialObject' '409': description: Conflict. Occurs when a credential with the given client ID already exists. /v1/credentials/azure/{azureCredentialId}: patch: summary: Update Azure Credential description: Update an existing credential for Azure. operationId: updateAzureCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential parameters: - name: azureCredentialId in: path required: true schema: $ref: '#/components/schemas/AzureCredentialId' description: The ID of the Azure credential to update requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAzureCredentialRequest' responses: '200': description: OK. Returns the updated Azure credential. content: application/json: schema: $ref: '#/components/schemas/AzureCredentialObject' '403': description: Forbidden. Occurs when the credential was not found or the user does not have access to it. /v1/credentials/googleCloud: post: summary: Create Google Cloud Credential description: Create a new credential for Google Cloud. operationId: createGoogleCloudCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential requestBody: required: true content: multipart/form-data: schema: type: object properties: service-account-key-file: type: string format: binary description: The Google-Cloud-CLI-generated JSON file from which to create the new credential displayName: type: string description: When provided, the name to give the created credential required: - service-account-key-file responses: '201': description: Created. Returns the newly created Google Cloud credential. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudCredentialObject' '400': description: Bad Request. Occurs when no file is found or the file is invalid. '409': description: Conflict. Occurs when the credentials are already in use. /v1/credentials/googleCloud/{googleCloudCredentialId}: patch: summary: Update Google Cloud Credential description: Update an existing credential for Google Cloud. operationId: updateGoogleCloudCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential parameters: - name: googleCloudCredentialId in: path required: true schema: $ref: '#/components/schemas/GoogleCloudCredentialId' description: The ID of the Google Cloud credential to update requestBody: required: true content: multipart/form-data: schema: type: object properties: service-account-key-file: type: string format: binary description: When provided, the Google-Cloud-CLI-generated JSON file from which to update the credential displayName: type: string description: When provided, the name to give the updated credential responses: '200': description: OK. Returns the updated Google Cloud credential. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudCredentialObject' '400': description: Bad Request. Occurs when no file is found or the file is invalid. '403': description: Forbidden. Occurs when the credential was not found or the user does not have access to it. '409': description: Conflict. Occurs when the credentials are already in use. /v1/credentials: get: summary: List Credentials description: List all credentials on your Lucid account. operationId: listCredentials tags: - Cloud security: - ApiKey: - CloudReadonly - OAuth2: - cloud.credential:readonly responses: '200': description: OK. Returns a list of credentials that the user has access to. content: application/json: schema: type: array items: $ref: '#/components/schemas/CredentialObject' /v1/credentials/{credentialId}: get: summary: Get Credential description: Get details about a specific credential. operationId: getCredential tags: - Cloud security: - ApiKey: - CloudReadonly - OAuth2: - cloud.credential:readonly parameters: - name: credentialId in: path required: true schema: $ref: '#/components/schemas/CloudCredentialId' description: The ID of the credential to retrieve responses: '200': description: OK. Returns the specified credential. content: application/json: schema: $ref: '#/components/schemas/CredentialObject' '400': description: Bad Request. Occurs when the credential ID is malformatted. '403': description: Forbidden. Occurs when the credential does not exist or the user does not have access to it. delete: summary: Delete Credential description: Delete the specified credential. operationId: deleteCredential tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.credential parameters: - name: credentialId in: path required: true schema: $ref: '#/components/schemas/CloudCredentialId' description: The ID of the credential to delete responses: '204': description: No Content. Occurs when the credential is successfully deleted. '400': description: Bad Request. Occurs when the credential ID is malformatted. '403': description: Forbidden. Occurs when the credential does not exist or the user does not have access to it. /v1/dataSources/aws/resources: get: summary: Get Fully Supported AWS Resources description: Get a list of all AWS resources fully supported by Lucid Cloud. operationId: getFullySupportedAwsResources tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of the AWS resources fully supported by the REST API. content: application/json: schema: type: array items: type: object example: - resource: AWS::ECS::Cluster - resource: AWS::S3::Bucket subResources: - resource: AWS::S3::Bucket--Additional-Metadata - resource: AWS::SNS::Topic subResources: - resource: AWS::SNS::Topic--Additional-Metadata - resource: AWS::SNS::Subscription subResources: - resource: AWS::SNS::Subscription--Additional-Metadata /v2/dataSources/aws/regions: get: summary: Get Supported AWS Regions description: Get a list of all AWS regions supported by Lucid Cloud. operationId: getSupportedAwsRegions tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of AWS regions supported by the REST API, including both default and opt-in regions. Each region is annotated with its type to indicate whether it requires explicit enablement in the AWS account. content: application/json: schema: type: array items: type: object properties: name: type: string description: The AWS region identifier type: type: string enum: - default - optin description: The region type - "default" for standard regions, "optin" for regions that require explicit enablement required: - name - type example: - name: us-east-1 type: default - name: eu-west-1 type: default - name: ap-east-1 type: optin - name: me-south-1 type: optin /v1/dataSources/azure/resources: get: summary: Get Fully Supported Azure Resources description: Get a list of all Azure resources fully supported by Lucid Cloud. operationId: getFullySupportedAzureResources tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of the Azure resources fully supported by the REST API. content: application/json: schema: type: array items: type: object example: - resource: Microsoft.Web/serverFarms - resource: Microsoft.Network/dnszones subResources: - resource: Microsoft.Network/dnszones/recordsets - resource: Microsoft.Cdn/profiles subResources: - resource: Microsoft.Cdn/profiles/endpoints - resource: Microsoft.Cdn/profiles/endpoints/originGroups subResources: - resource: Microsoft.Cdn/profiles/endpoints/origins /v1/dataSources/googleCloud/resources: get: summary: Get Fully Supported Google Cloud Resources description: Get a list of all Google Cloud resources fully supported by Lucid Cloud. operationId: getFullySupportedGoogleCloudResources tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of the Google Cloud resources fully supported by the REST API. content: application/json: schema: type: array items: type: object example: - resource: container.googleapis.com/NodePool - resource: compute.googleapis.com/Firewall - resource: compute.googleapis.com/VpnTunnel /v1/dataSources/aws: post: summary: Create AWS Data Source description: 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. operationId: createAwsDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAwsDataSourceRequest' responses: '202': description: Accepted. Occurs when the creation job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when no file is found or the file is invalid. /v1/dataSources/aws/{jobReferenceId}/status: get: summary: Get "Create AWS Data Source" Job Status description: Get the status of a data source creation request started by Create AWS Data Source. operationId: getCreateAwsDataSourceJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AwsDataSourceJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/dataSources/aws/{awsDataSourceId}: post: summary: Update AWS Data Source description: 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. operationId: updateAwsDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: awsDataSourceId in: path required: true schema: $ref: '#/components/schemas/AwsDataSourceId' description: The ID of the AWS data source to update requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAwsDataSourceRequest' responses: '202': description: Accepted. Occurs when the update job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when the data source ID is malformatted. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when an update job is already in progress for this data source. patch: summary: Edit AWS Data Source description: 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. operationId: editAwsDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: awsDataSourceId in: path required: true schema: $ref: '#/components/schemas/AwsDataSourceId' description: The ID of the AWS data source to edit requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditAwsDataSourceRequest' responses: '200': description: OK. Returns the edited AWS data source. content: application/json: schema: $ref: '#/components/schemas/AwsDataSourceObject' '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. /v1/dataSources/aws/{awsDataSourceId}/upload: post: summary: Update AWS Data Source from File description: 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. operationId: updateAwsDataSourceFromFile tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: awsDataSourceId in: path required: true schema: $ref: '#/components/schemas/AwsDataSourceId' description: The ID of the AWS data source to update requestBody: required: true content: multipart/form-data: schema: type: object properties: awsclijson: type: string format: binary description: The AWS-CLI-generated JSON file from which to update the data source required: - awsclijson responses: '202': description: Accepted. Occurs when the update job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when no file is found or the file is invalid. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when an update job is already in progress for this data source. /v1/dataSources/aws/{awsDataSourceId}/{jobReferenceId}/status: get: summary: Get "Update AWS Data Source" Job Status description: Get the status of a data source update request started by Update AWS Data Source or Update AWS Data Source from File. operationId: getUpdateAwsDataSourceJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: awsDataSourceId in: path required: true schema: $ref: '#/components/schemas/AwsDataSourceId' description: The ID of the AWS data source associated with the job - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AwsDataSourceJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/dataSources/azure: post: summary: Create Azure Data Source description: 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. operationId: createAzureDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAzureDataSourceRequest' responses: '202': description: Accepted. Occurs when the creation job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when no file is found or the file is invalid. /v1/dataSources/azure/{jobReferenceId}/status: get: summary: Get "Create Azure Data Source" Job Status description: Get the status of a data source creation request started by Create Azure Data Source. operationId: getCreateAzureDataSourceJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AzureDataSourceJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/dataSources/azure/{azureDataSourceId}: post: summary: Update Azure Data Source description: 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. operationId: updateAzureDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: azureDataSourceId in: path required: true schema: $ref: '#/components/schemas/AzureDataSourceId' description: The ID of the Azure data source to update requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAzureDataSourceRequest' responses: '202': description: Accepted. Occurs when the update job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when the data source ID is malformatted. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when an update job is already in progress for this data source. patch: summary: Edit Azure Data Source description: 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. operationId: editAzureDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: azureDataSourceId in: path required: true schema: $ref: '#/components/schemas/AzureDataSourceId' description: The ID of the Azure data source to edit requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditAzureDataSourceRequest' responses: '200': description: OK. Returns the edited Azure data source. content: application/json: schema: $ref: '#/components/schemas/AzureDataSourceObject' /v1/dataSources/azure/{azureDataSourceId}/upload: post: summary: Update Azure Data Source from File description: 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. operationId: updateAzureDataSourceFromFile tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: azureDataSourceId in: path required: true schema: $ref: '#/components/schemas/AzureDataSourceId' description: The ID of the Azure data source to update requestBody: required: true content: multipart/form-data: schema: type: object properties: azureclijson: type: string format: binary description: The Azure-CLI-generated JSON file from which to update the data source required: - azureclijson responses: '202': description: Accepted. Occurs when the update job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when no file is found or the file is invalid. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when an update job is already in progress for this data source. /v1/dataSources/azure/{azureDataSourceId}/{jobReferenceId}/status: get: summary: Get "Update Azure Data Source" Job Status description: Get the status of a data source update request started by Update Azure Data Source or Update Azure Data Source from File. operationId: getUpdateAzureDataSourceJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: azureDataSourceId in: path required: true schema: $ref: '#/components/schemas/AzureDataSourceId' description: The ID of the Azure data source associated with the job - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AzureDataSourceJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/dataSources/googleCloud: post: summary: Create Google Cloud Data Source description: 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. operationId: createGoogleCloudDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateGoogleCloudDataSourceRequest' responses: '202': description: Accepted. Occurs when the creation job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when no file is found or the file is invalid. /v1/dataSources/googleCloud/{jobReferenceId}/status: get: summary: Get "Create Google Cloud Data Source" Job Status description: Get the status of a data source creation request started by Create Google Cloud Data Source. operationId: getCreateGoogleCloudDataSourceJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudDataSourceJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/dataSources/googleCloud/{googleCloudDataSourceId}: post: summary: Update Google Cloud Data Source description: 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. operationId: updateGoogleCloudDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: googleCloudDataSourceId in: path required: true schema: $ref: '#/components/schemas/GoogleCloudDataSourceId' description: The ID of the Google Cloud data source to update requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateGoogleCloudDataSourceRequest' responses: '202': description: Accepted. Occurs when the update job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when the data source ID is malformatted. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when an update job is already in progress for this data source. patch: summary: Edit Google Cloud Data Source description: 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. operationId: editGoogleCloudDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: googleCloudDataSourceId in: path required: true schema: $ref: '#/components/schemas/GoogleCloudDataSourceId' description: The ID of the Google Cloud data source to edit requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/EditGoogleCloudDataSourceRequest' responses: '200': description: OK. Returns the edited Google Cloud data source. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudDataSourceObject' '400': description: Bad Request. Occurs when the data source ID is malformatted. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. /v1/dataSources/googleCloud/{googleCloudDataSourceId}/upload: post: summary: Update Google Cloud Data Source from File description: 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. operationId: updateGoogleCloudDataSourceFromFile tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: googleCloudDataSourceId in: path required: true schema: $ref: '#/components/schemas/GoogleCloudDataSourceId' description: The ID of the Google Cloud data source to update requestBody: required: true content: multipart/form-data: schema: type: object properties: googlecloudclijson: type: string format: binary description: The Google-Cloud-CLI-generated JSON file from which to update the data source required: - googlecloudclijson responses: '202': description: Accepted. Occurs when the update job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when no file is found or the file is invalid. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when an update job is already in progress for this data source. /v1/dataSources/googleCloud/{googleCloudDataSourceId}/{jobReferenceId}/status: get: summary: Get "Update Google Cloud Data Source" Job Status description: Get the status of a data source update request started by Update Google Cloud Data Source or Update Google Cloud Data Source from File. operationId: getUpdateGoogleCloudDataSourceJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: googleCloudDataSourceId in: path required: true schema: $ref: '#/components/schemas/GoogleCloudDataSourceId' description: The ID of the Google Cloud data source associated with the job - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudDataSourceJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/dataSources: get: summary: List Data Sources description: List all data sources on your Lucid account. operationId: listDataSources tags: - Cloud security: - ApiKey: - CloudReadonly - OAuth2: - cloud.datasource:readonly responses: '200': description: OK. Returns a list of data sources. content: application/json: schema: type: array items: $ref: '#/components/schemas/DataSourceObject' /v1/dataSources/{dataSourceId}: get: summary: Get Data Source description: 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. operationId: getDataSource tags: - Cloud security: - ApiKey: - CloudReadonly - OAuth2: - cloud.datasource:readonly parameters: - name: dataSourceId in: path required: true schema: $ref: '#/components/schemas/DataSourceId' description: The ID of the data source to retrieve responses: '200': description: OK. Returns the specified data source. content: application/json: schema: $ref: '#/components/schemas/DataSourceObject' '400': description: Bad Request. Occurs when the data source ID is malformatted. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. delete: summary: Delete Data Source description: Delete the specified data source and all related data (collections, schema, items, link parameters). Once deleted, none of the information can be recovered. operationId: deleteDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.datasource parameters: - name: dataSourceId in: path required: true schema: $ref: '#/components/schemas/DataSourceId' description: The ID of the data source to delete responses: '204': description: No Content. Occurs when the data source is successfully deleted. '400': description: Bad Request. Occurs when the data source ID is malformatted. '403': description: Forbidden. Occurs when the data source does not exist or the user does not have access to it. '409': description: Conflict. Occurs when deletion is attempted while jobs are running. /v1/documents/cloud/aws/viewTemplates: get: summary: Get Supported AWS View Templates description: Get a list of all AWS view templates fully supported by Lucid Cloud. operationId: getSupportedAwsViewTemplates tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of the AWS view templates supported by the REST API. content: application/json: schema: type: array items: type: object example: - compliance-insights - cost-saving-insights - ecs /v1/documents/cloud/azure/viewTemplates: get: summary: Get Supported Azure View Templates description: Get a list of all Azure view templates fully supported by Lucid Cloud. operationId: getSupportedAzureViewTemplates tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of the Azure view templates supported by the REST API. content: application/json: schema: type: array items: type: object example: - compliance-insights - cost-saving-insights - infrastructure /v1/documents/cloud/googleCloud/viewTemplates: get: summary: Get Supported Google Cloud View Templates description: Get a list of all Google Cloud view templates fully supported by Lucid Cloud. operationId: getSupportedGoogleCloudViewTemplates tags: - Cloud security: - ApiKey: [] responses: '200': description: OK. Returns a list of the Google Cloud view templates supported by the REST API. content: application/json: schema: type: array items: type: object example: - compliance-insights - cost-saving-insights - gke-clusters /v1/documents/cloud/aws: post: summary: Create Model from AWS Data Source description: 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. operationId: createModelFromAwsDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateModelFromAwsDataSourceRequest' responses: '202': description: Accepted. Occurs when the model creation job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' /v1/documents/cloud/aws/{jobReferenceId}/status: get: summary: Get "Create Model from AWS Data Source" Job Status description: Get the status of a model creation request started by Create Model from AWS Data Source. operationId: getAwsModelCreationJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AwsModelJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/documents/cloud/aws/{documentId}/sync: post: summary: Sync Model with AWS Data Source description: 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. operationId: syncModelFromAwsDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: documentId in: path required: true schema: type: string format: uuid description: The document ID of the cloud model to sync responses: '202': description: Accepted. Occurs when the model sync job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when the document ID is malformatted. '403': description: Forbidden. Occurs when the document does not exist or the user does not have access to it. '409': description: Conflict. Occurs when a sync is already in progress for this document. /v1/documents/cloud/aws/{documentId}/sync/{jobReferenceId}/status: get: summary: Get "Sync Model with AWS Data Source" Job Status description: Get the status of a model sync request started by Sync Model with AWS Data Source. operationId: getAwsModelSyncJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: documentId in: path required: true schema: type: string format: uuid description: The document ID of the cloud model associated with the job - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AwsModelJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/documents/cloud/azure: post: summary: Create Model from Azure Data Source description: 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. operationId: createModelFromAzureDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateModelFromAzureDataSourceRequest' responses: '202': description: Accepted. Occurs when the model creation job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' /v1/documents/cloud/azure/{jobReferenceId}/status: get: summary: Get "Create Model from Azure Data Source" Job Status description: Get the status of a model creation request started by Create Model from Azure Data Source. operationId: getAzureModelCreationJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AzureModelJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/documents/cloud/azure/{documentId}/sync: post: summary: Sync Model with Azure Data Source description: 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. operationId: syncModelFromAzureDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: documentId in: path required: true schema: type: string format: uuid description: The document ID of the cloud model to sync responses: '202': description: Accepted. Occurs when the model sync job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when the document ID is malformatted. '403': description: Forbidden. Occurs when the document does not exist or the user does not have access to it. '409': description: Conflict. Occurs when a sync is already in progress for this document. /v1/documents/cloud/azure/{documentId}/sync/{jobReferenceId}/status: get: summary: Get "Sync Model with Azure Data Source" Job Status description: Get the status of a model sync request started by Sync Model with Azure Data Source. operationId: getAzureModelSyncJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: documentId in: path required: true schema: type: string format: uuid description: The document ID of the cloud model associated with the job - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/AzureModelJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/documents/cloud/googleCloud: post: summary: Create Model from Google Cloud Data Source description: 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. operationId: createModelFromGoogleCloudDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateModelFromGoogleCloudDataSourceRequest' responses: '202': description: Accepted. Occurs when the model creation job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' /v1/documents/cloud/googleCloud/{jobReferenceId}/status: get: summary: Get "Create Model from Google Cloud Data Source" Job Status description: Get the status of a model creation request started by Create Model from Google Cloud Data Source. operationId: getGoogleCloudModelCreationJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudModelJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. /v1/documents/cloud/googleCloud/{documentId}/sync: post: summary: Sync Model with Google Cloud Data Source description: 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. operationId: syncModelFromGoogleCloudDataSource tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: documentId in: path required: true schema: type: string format: uuid description: The document ID of the cloud model to sync responses: '202': description: Accepted. Occurs when the model sync job has been queued. content: application/json: schema: $ref: '#/components/schemas/JobReferenceIdResponse' '400': description: Bad Request. Occurs when the document ID is malformatted. '403': description: Forbidden. Occurs when the document does not exist or the user does not have access to it. '409': description: Conflict. Occurs when a sync is already in progress for this document. /v1/documents/cloud/googleCloud/{documentId}/sync/{jobReferenceId}/status: get: summary: Get "Sync Model with Google Cloud Data Source" Job Status description: Get the status of a model sync request started by Sync Model with Google Cloud Data Source. operationId: getGoogleCloudModelSyncJobStatus tags: - Cloud security: - ApiKey: - CloudEdit - OAuth2: - cloud.model parameters: - name: documentId in: path required: true schema: type: string format: uuid description: The document ID of the cloud model associated with the job - name: jobReferenceId in: path required: true schema: $ref: '#/components/schemas/JobReferenceId' responses: '200': description: OK. Returns the job status. content: application/json: schema: $ref: '#/components/schemas/GoogleCloudModelJobStatusResponse' '400': description: Bad Request. Occurs when the job reference ID is malformatted. '403': description: Forbidden. Occurs when the job does not exist or the user does not have access to it. components: schemas: AwsDataSourceId: type: string description: AWS data source ID pattern: ^awsds_[0-9]+$ example: awsds_12345 AzureDataSourceObject: type: object properties: dataSourceId: $ref: '#/components/schemas/AzureDataSourceId' type: type: string enum: - azure params: type: object properties: name: type: string example: Example Azure Data Source importType: type: string enum: - adApp - cliJson example: adApp subscriptionId: type: string description: The ID of the linked Azure subscription (only for adApp import types) example: - a1b2c3d4-e5f6-7890-abcd-ef1234567890 resourceSelection: type: array items: type: string description: List of Azure resources included in the data source (only for adApp import types) example: - Microsoft.Compute/virtualMachines required: - name - importType required: - dataSourceId - type - params JobReferenceIdResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' required: - jobId UpdateAwsCredentialRequest: type: object properties: arn: type: string description: When provided, the AWS resource identifier with which the trust relationship was formed via the externalId example: arn:aws:iam::123456789012:role/LucidCloudRole name: type: string description: When provided, the name to give the credential example: Example AWS Credential - Updated orgMemberAccountRoleName: type: string description: When provided, the IAM role that exists in each of your AWS member accounts to be included by Lucid when making requests on your behalf example: OrganizationAccountAccessRole DataSourceObject: oneOf: - $ref: '#/components/schemas/AwsDataSourceObject' - $ref: '#/components/schemas/AzureDataSourceObject' - $ref: '#/components/schemas/GoogleCloudDataSourceObject' discriminator: propertyName: type mapping: aws: '#/AwsDataSourceObject' azure: '#/AzureDataSourceObject' googleCloud: '#/GoogleCloudDataSourceObject' EditAwsDataSourceRequest: type: object properties: name: type: string description: The new display name to give to the AWS data source example: Example AWS Data Source - Updated AwsCredentialObject: type: object properties: credentialId: $ref: '#/components/schemas/AwsCredentialId' type: type: string enum: - aws params: type: object properties: name: type: string description: Name of the credential example: Example AWS Credential arn: type: string description: The AWS resource identifier corresponding to the credential example: arn:aws:iam::123456789012:role/lucidimport orgMemberAccountRoleName: type: string description: If not null, then the IAM role that exists in each of your AWS member accounts that was included by Lucid when making requests on your behalf to create or update the credential example: LucidCloudMemberAccountRole required: - name - arn - orgMemberAccountRoleName required: - credentialId - type - params AwsDataSourceJobStatusResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' status: $ref: '#/components/schemas/JobStatus' response: oneOf: - $ref: '#/components/schemas/AwsDataSourceJobResponse' - $ref: '#/components/schemas/JobErrorResponse' required: - jobId - status AzureDataSourceJobResponse: type: object properties: name: type: string example: Example Azure Data Source description: The name of the Azure data source affected by the job dataSourceId: $ref: '#/components/schemas/AzureDataSourceId' description: The ID of the Azure data source affected by the job message: type: string example: '' required: - name - dataSourceId - message UpdateAzureDataSourceRequest: type: object properties: resourceSelection: type: array items: type: string description: The Azure resources to include in the data source. Use the "Get Fully Supported Azure Resources" endpoint to see a list of all supported resources. example: - Microsoft.Compute/virtualMachines - Microsoft.Storage/storageAccounts JobStatus: type: string enum: - PENDING - RUNNING - SUCCEEDED - FAILED description: Status of an asynchronous job example: SUCCEEDED GoogleCloudCredentialId: type: string description: Google Cloud credential ID pattern: ^googlecloud_[0-9]+$ example: googlecloud_56789 AzureDataSourceForModelCreation: type: object properties: dataSourceId: $ref: '#/components/schemas/AzureDataSourceId' filter: $ref: '#/components/schemas/AzureDataSourceFilter' description: Filter to apply when creating a model with the Azure data source required: - dataSourceId CloudCredentialId: type: string description: Cloud credential ID with provider prefix pattern: ^(aws_|azure_|googlecloud_)[0-9]+$ example: aws_12345 AwsCredentialId: type: string description: AWS credential ID pattern: ^aws_[0-9]+$ example: aws_12345 EditGoogleCloudDataSourceRequest: type: object properties: name: type: string description: The new display name to give to the Google Cloud data source example: Example Google Cloud Data Source - Updated GoogleCloudDataSourceJobResponse: type: object properties: name: type: string example: Example Google Cloud Data Source description: The name of the Google Cloud data source affected by the job dataSourceId: $ref: '#/components/schemas/GoogleCloudDataSourceId' description: The ID of the Google Cloud data source affected by the job message: type: string example: '' required: - name - dataSourceId - message CreateAwsDataSourceRequest: type: object properties: name: type: string description: The name to give the data source example: Example AWS Data Source awsCredentialId: $ref: '#/components/schemas/AwsCredentialId' description: The ID of the existing AWS credential to use to create the data source awsAccountId: type: string description: The ID of the AWS account which contains the data from which to create the data source example: '123456789012' regions: type: array items: type: string description: The AWS regions which contain the data from which to create the data source. Use the "Get Supported AWS Regions" endpoint to see a list of all supported regions. example: - us-east-1 - us-west-2 resourceSelection: type: array items: type: string description: The AWS resources to include in the data source. Use the "Get Fully Supported AWS Resources" endpoint to see a list of all supported resources. example: - AWS::EC2::Instance - AWS::S3::Bucket required: - name - cloudCredentialId - awsAccountId - regions AzureCredentialId: type: string description: Azure credential ID pattern: ^azure_[0-9]+$ example: azure_34567 DataSourceId: type: string description: Cloud data source ID pattern: ^(awsds_|azureds_|googlecloudds_)[0-9]+$ example: awsds_12345 AddAwsCredentialRequest: type: object properties: name: type: string description: The name to give the created credential example: Example AWS Credential arn: type: string description: The AWS resource identifier with which the trust relationship was formed via the external ID example: arn:aws:iam::123456789012:role/LucidCloudRole orgMemberAccountRoleName: type: string description: When provided, the IAM role that exists in each of your AWS member accounts to be included by Lucid when making requests on your behalf example: OrganizationAccountAccessRole required: - name - arn UpdateAwsDataSourceRequest: type: object properties: regions: type: array items: type: string description: The AWS regions which contain the data from which to update the data source. Use the "Get Supported AWS Regions" endpoint to see a list of all supported regions. example: - us-east-1 - us-west-2 resourceSelection: type: array items: type: string description: The AWS resources to include in the data source. Use the "Get Fully Supported AWS Resources" endpoint to see a list of all supported resources. example: - AWS::EC2::Instance - AWS::S3::Bucket GoogleCloudDataSourceObject: type: object properties: dataSourceId: $ref: '#/components/schemas/GoogleCloudDataSourceId' type: type: string enum: - googleCloud params: type: object properties: name: type: string example: Example Google Cloud Data Source importType: type: string enum: - serviceAccount - cliJson example: serviceAccount projectIds: type: array items: type: string description: The ID of the linked Google Cloud project (only for serviceAccount import types) example: - my-google-cloud-project-123 resourceSelection: type: array items: type: string description: List of Google Cloud resources included in the data source (only for serviceAccount import types) example: - compute.googleapis.com/Instance required: - name - importType required: - dataSourceId - type - params UpdateGoogleCloudDataSourceRequest: type: object properties: resourceSelection: type: array items: type: string description: The Google Cloud resources to include in the data source. Use the "Get Fully Supported Google Cloud Resources" endpoint to see a list of all supported resources. example: - compute.googleapis.com/Instance - storage.googleapis.com/Bucket GoogleCloudModelJobResponse: type: object properties: viewURL: type: string format: uri description: URL to view the created document example: https://lucid.app/documents/view/8e7b19ec-27ff-40e3-beb8-03f51b1661b2 editURL: type: string format: uri description: URL to edit the created document example: https://lucid.app/documents/edit/8e7b19ec-27ff-40e3-beb8-03f51b1661b2 documentId: type: string format: uuid description: ID of the created document example: 8e7b19ec-27ff-40e3-beb8-03f51b1661b2 dataSources: type: array items: type: string description: List of Google Cloud data source IDs used in the model example: - googlecloudds_56789 required: - viewURL - editURL - documentId - dataSources EditAzureDataSourceRequest: type: object properties: name: type: string description: The new display name to give to the Azure data source example: Example Azure Data Source - Updated UpdateAzureCredentialRequest: type: object properties: name: type: string description: When provided, the name to give the updated credential example: Example Azure Credential - Updated clientId: type: string format: uuid description: When provided, the ID of the application from which to import resource metadata for your subscriptions example: 76cd2065-b065-43fa-ad55-316927945439 tenantId: type: string format: uuid description: When provided, the ID of the directory to be used during authentication example: de991a0e-5765-429a-bc8e-1a053bb61911 clientSecret: type: string description: When provided, the secret to be used for authentication example: example-azure-secret linkType: $ref: '#/components/schemas/AzureCredentialLinkType' GoogleCloudDataSourceFilter: type: object properties: googleCloudLabels: type: array items: $ref: '#/components/schemas/TagOrLabel' includeUnlabeledResources: type: boolean description: Whether to include resources that do not have any labels example: true AwsModelJobStatusResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' status: $ref: '#/components/schemas/JobStatus' response: oneOf: - $ref: '#/components/schemas/AwsModelJobResponse' - $ref: '#/components/schemas/JobErrorResponse' description: Job result (present when status is completed or failed) required: - jobId - status JobErrorResponse: type: object properties: message: type: string description: Error message describing what went wrong example: Failed to authenticate with cloud provider required: - message AzureModelJobResponse: type: object properties: viewURL: type: string format: uri description: URL to view the created document example: https://lucid.app/documents/view/8e7b19ec-27ff-40e3-beb8-03f51b1661b2 editURL: type: string format: uri description: URL to edit the created document example: https://lucid.app/documents/edit/8e7b19ec-27ff-40e3-beb8-03f51b1661b2 documentId: type: string format: uuid description: ID of the created document example: 8e7b19ec-27ff-40e3-beb8-03f51b1661b2 dataSources: type: array items: type: string description: List of Azure data source IDs used in the model example: - azureds_34567 required: - viewURL - editURL - documentId - dataSources AzureDataSourceJobStatusResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' status: $ref: '#/components/schemas/JobStatus' response: oneOf: - $ref: '#/components/schemas/AzureDataSourceJobResponse' - $ref: '#/components/schemas/JobErrorResponse' required: - jobId - status GoogleCloudDataSourceForModelCreation: type: object properties: dataSourceId: $ref: '#/components/schemas/GoogleCloudDataSourceId' filter: $ref: '#/components/schemas/GoogleCloudDataSourceFilter' description: Filter to apply when creating a model with the Google Cloud data source required: - dataSourceId AddAzureCredentialRequest: type: object properties: name: type: string description: The name to give the created credential example: Example Azure Credential clientId: type: string format: uuid description: The ID of the application from which to import resource metadata for your subscriptions example: 76cd2065-b065-43fa-ad55-316927945439 tenantId: type: string format: uuid description: The ID of the directory to be used during authentication example: de991a0e-5765-429a-bc8e-1a053bb61911 clientSecret: type: string description: The secret to be used for authentication example: example-azure-secret linkType: $ref: '#/components/schemas/AzureCredentialLinkType' description: When provided, the type of credential to create required: - name - clientId - tenantId - clientSecret CredentialObject: oneOf: - $ref: '#/components/schemas/AwsCredentialObject' - $ref: '#/components/schemas/AzureCredentialObject' - $ref: '#/components/schemas/GoogleCloudCredentialObject' discriminator: propertyName: type mapping: aws: '#/AwsCredentialObject' azure: '#/AzureCredentialObject' googleCloud: '#/GoogleCloudCredentialObject' AzureDataSourceFilter: type: object properties: azureTags: type: array items: $ref: '#/components/schemas/TagOrLabel' includeUntaggedResources: type: boolean description: Whether to include resources that do not have any tags example: true resourceGroups: type: array items: type: string description: The Azure resource groups to include in the model example: - Some-Azure-Resource::Some-Azure-Server JobReferenceId: type: string description: Unique identifier for an asynchronous job pattern: ^jobr_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ example: jobr_2f5e5b82-6f1d-4c9f-932a-14e43cf30454 AwsDataSourceFilter: type: object properties: awsTags: type: array items: $ref: '#/components/schemas/TagOrLabel' includeUntaggedResources: type: boolean description: Whether to include resources that do not have any tags example: true resourceGroups: type: array items: type: string description: The AWS resource groups to include in the model example: - Some-AWS-Resource::Some-AWS-Server AzureCredentialObject: type: object properties: credentialId: $ref: '#/components/schemas/AzureCredentialId' type: type: string enum: - azure params: type: object properties: name: type: string description: Name of the credential example: Example Azure Credential clientId: type: string format: uuid description: The ID of the application from which resource metadata was imported for your subscriptions example: 76cd2065-b065-43fa-ad55-316927945439 tenantId: type: string format: uuid description: The ID of the directory that was used during authentication example: de991a0e-5765-429a-bc8e-1a053bb61911 linkType: $ref: '#/components/schemas/AzureCredentialLinkType' required: - name - clientId - tenantId - linkType required: - credentialId - type - params TagOrLabel: type: object properties: key: type: string description: The tag or label key example: Environment value: type: string description: The tag or label value example: Production required: - key description: An AWS or Azure tag, or a Google Cloud label example: key: Environment value: Production GoogleCloudModelJobStatusResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' status: $ref: '#/components/schemas/JobStatus' response: oneOf: - $ref: '#/components/schemas/GoogleCloudModelJobResponse' - $ref: '#/components/schemas/JobErrorResponse' description: Job result (present when status is completed or failed) required: - jobId - status CreateAzureDataSourceRequest: type: object properties: name: type: string description: The name to give the data source example: Example Azure Data Source azureCredentialId: $ref: '#/components/schemas/AzureCredentialId' description: The ID of the existing Azure credential to use to create the data source tenantId: type: string format: uuid description: The ID of the Azure directory which contains the data from which to create the data source example: de991a0e-5765-429a-bc8e-1a053bb61911 subscriptionIds: type: array items: type: string description: The IDs of the subscriptions which contain the data from which to create the data source example: - a1b2c3d4-e5f6-7890-abcd-ef1234567890 resourceSelection: type: array items: type: string description: The Azure resources to include in the data source. Use the "Get Fully Supported Azure Resources" endpoint to see a list of all supported resources. example: - Microsoft.Compute/virtualMachines - Microsoft.Storage/storageAccounts required: - name - cloudCredentialId - tenantId - subscriptionIds - resourceSelection CreateModelFromGoogleCloudDataSourceRequest: type: object properties: title: type: string description: The name to give the created model example: Google Cloud Infrastructure Diagram dataSources: type: array items: $ref: '#/components/schemas/GoogleCloudDataSourceForModelCreation' description: The Google Cloud Data Sources to include in the model autosync: type: boolean description: Whether this model should automatically update with changes to its data source(s) example: true viewTemplates: type: array items: type: string description: The view templates to create in the generated model. Use the "Get Supported Google Cloud View Templates" endpoint to see a list of all supported view templates. example: - summarized-infrastructure - gke-clusters required: - title - dataSources - autosync GoogleCloudDataSourceId: type: string description: Google Cloud data source ID pattern: ^googlecloudds_[0-9]+$ example: googlecloudds_56789 AzureCredentialLinkType: type: string enum: - global - government description: The type of Azure environment the credential is for example: global AzureModelJobStatusResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' status: $ref: '#/components/schemas/JobStatus' response: oneOf: - $ref: '#/components/schemas/AzureModelJobResponse' - $ref: '#/components/schemas/JobErrorResponse' description: Job result (present when status is completed or failed) required: - jobId - status AzureDataSourceId: type: string description: Azure data source ID pattern: ^azureds_[0-9]+$ example: azureds_34567 AwsCredentialExternalId: type: object properties: externalId: type: string format: uuid description: External ID to be provided to AWS when creating the trust relationship example: 31981475-0021-444e-9aa0-68c1456025ab required: - externalId CreateModelFromAzureDataSourceRequest: type: object properties: title: type: string description: The name to give the created model example: Azure Infrastructure Diagram dataSources: type: array items: $ref: '#/components/schemas/AzureDataSourceForModelCreation' description: The Azure Data Sources to include in the model autosync: type: boolean description: Whether this model should automatically update with changes to its data source(s) example: true viewTemplates: type: array items: type: string description: The view templates to create in the generated model. Use the "Get Supported Azure View Templates" endpoint to see a list of all supported view templates. example: - virtual-network-topology - resources required: - title - dataSources - autosync CreateModelFromAwsDataSourceRequest: type: object properties: title: type: string description: The name to give the created model example: AWS Infrastructure Diagram dataSources: type: array items: $ref: '#/components/schemas/AwsDataSourceForModelCreation' description: The AWS Data Sources to include in the model autosync: type: boolean description: Whether this model should automatically update with changes to its data source(s) example: true viewTemplates: type: array items: type: string description: The view templates to create in the generated model. Use the "Get Supported AWS View Templates" endpoint to see a list of all supported view templates. example: - vpc-topology - ecs required: - title - dataSources - autosync GoogleCloudDataSourceJobStatusResponse: type: object properties: jobId: $ref: '#/components/schemas/JobReferenceId' status: $ref: '#/components/schemas/JobStatus' response: oneOf: - $ref: '#/components/schemas/GoogleCloudDataSourceJobResponse' - $ref: '#/components/schemas/JobErrorResponse' required: - jobId - status CreateGoogleCloudDataSourceRequest: type: object properties: name: type: string description: The name to give the data source example: Example Google Cloud Data Source googleCloudCredentialId: $ref: '#/components/schemas/GoogleCloudCredentialId' description: The ID of the existing Google Cloud credential to use to create the data source projectIds: type: array items: type: string description: The IDs of the Google Cloud projects which contain the data from which to create the data source example: - my-gcp-project-123 resourceSelection: type: array items: type: string description: The Google Cloud resources to include in the data source. Use the "Get Fully Supported Google Cloud Resources" endpoint to see a list of all supported resources. example: - compute.googleapis.com/Instance - storage.googleapis.com/Bucket required: - name - cloudCredentialId - projectIds - resourceSelection AwsDataSourceJobResponse: type: object properties: name: type: string example: Example AWS Data Source description: The name of the AWS data source affected by the job dataSourceId: $ref: '#/components/schemas/AwsDataSourceId' description: The ID of the AWS data source affected by the job message: type: string example: '' required: - name - dataSourceId - message GoogleCloudCredentialObject: type: object properties: credentialId: $ref: '#/components/schemas/GoogleCloudCredentialId' type: type: string enum: - googleCloud params: type: object properties: name: type: string description: Name of the credential example: Example Google Cloud Credential keyType: type: string description: The type of the credential example: service_account projectId: type: string description: The ID of the Google Cloud project from which the credential was created example: some-project-id-13579 required: - name - keyType - projectId required: - credentialId - type - params AwsDataSourceForModelCreation: type: object properties: dataSourceId: $ref: '#/components/schemas/AwsDataSourceId' filter: $ref: '#/components/schemas/AwsDataSourceFilter' description: Filter to apply when creating a model with the AWS data source required: - dataSourceId AwsDataSourceObject: type: object properties: dataSourceId: $ref: '#/components/schemas/AwsDataSourceId' type: type: string enum: - aws params: type: object properties: name: type: string example: Example AWS Data Source importType: type: string enum: - crossAccount - cliJson example: crossAccount awsAccountId: type: string description: The ID of the linked AWS account (only for crossAccount import types) example: '123456789012' regions: type: array items: type: string description: List of AWS regions selected for the data source (only for crossAccount import types) example: - us-east-1 - us-west-2 resourceSelection: type: array items: type: string description: List of AWS resources included in the data source (only for crossAccount import types) example: - AWS::EC2::Instance - AWS::S3::Bucket required: - name - importType required: - dataSourceId - type - params AwsModelJobResponse: type: object properties: viewURL: type: string format: uri description: URL to view the created document example: https://lucid.app/documents/view/8e7b19ec-27ff-40e3-beb8-03f51b1661b2 editURL: type: string format: uri description: URL to edit the created document example: https://lucid.app/documents/edit/8e7b19ec-27ff-40e3-beb8-03f51b1661b2 documentId: type: string format: uuid description: ID of the created document example: 8e7b19ec-27ff-40e3-beb8-03f51b1661b2 dataSources: type: array items: type: string description: List of AWS data source IDs used in the model example: - awsds_12345 required: - viewURL - editURL - documentId - dataSources securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://lucid.app/oauth2/authorize tokenUrl: https://api.lucid.co/oauth2/token refreshUrl: https://api.lucid.co/oauth2/token scopes: account.audit.logs: View audit logs on your account. account.info: View basic information about your account (e.g., account ID and account name) . account.user: Create, view, edit, and delete users on your account. account.user:readonly: View users on your account. account.users:admin.readonly: View all users and their roles on your account. account.user.transfercontent: Transfer ownership of a user's resources to another user on your account. account.settings:readonly: View settings on your account. account.legalhold: Create, view, and expire legal holds on your account. account.legalhold:readonly: View legal holds on your account. account.legalhold.users: Manage legal hold users on your account. account.legalhold.users:readonly: View legal hold users on your account. folder: Create, view, edit, share, and delete your folders. Organize your folders and their contents. folder:readonly: View any of your folders and list their contents. folder:admin: Perform admin actions on folders belonging to the account. folder:admin.readonly: View all folders belonging to the account with admin permissions. invitation: Accept document and folder share links. invitation.accept: Accept document and folder share links. cloud.credential: Manage cloud credentials. cloud.credential:readonly: View cloud credentials. cloud.datasource: Manage cloud data sources. cloud.datasource:readonly: View cloud data sources. cloud.model: Manage cloud models. repository: Manage repositories. repository:readonly: View repositories. repository:admin: Perform admin actions on repositories. lucid.document.content: Create, view, edit, and delete any Lucid document accessible by the user. lucid.document.content:readonly: View and download any Lucid document accessible by the user. lucid.document.content:admin: Perform admin actions on Lucid documents belonging to the account. lucid.document.content:admin.readonly: View all Lucid documents belonging to the account with admin permissions. lucid.document.content.share: Create, view, edit, and delete document collaborators, embeds, and share links for any Lucid document accessible by the user. lucid.document.content.share:readonly: View document collaborators, embeds, and share links for any Lucid document accessible by the user. lucid.document.content.share.collaborator: Create, view, edit, and delete document collaborators for any Lucid document accessible by the user. lucid.document.content.share.collaborator:readonly: View document collaborators for any Lucid document accessible by the user. lucid.document.content.share.embed: Create, view, edit, and delete document embeds for any Lucid document accessible by the user. lucid.document.content.share.embed:readonly: View document embeds for any Lucid document accessible by the user. lucid.document.content.share.link: Create, view, edit, and delete share links for any Lucid document accessible by the user. lucid.document.content.share.link:readonly: View share links for any Lucid document accessible by the user. lucid.document.storage:admin.readonly: Perform admin actions backing up Lucid documents belonging to the account. lucid.document.app: View, edit, create, and manage folders and documents within an app. lucid.document.app.folder: Create, view, edit, and manage any Lucid document within its app-specific folder. lucid.document.app.picker: View, edit, and manage any Lucid document selected within an app. lucid.document.app.picker:readonly: View and download any Lucid document selected within an app. lucid.document.app.picker.share: Create, view, edit, and delete document collaborators, embeds, and share links for any Lucid document selected within an app. lucid.document.app.picker.share:readonly: View document collaborators, embeds, and share links for any Lucid document selected within an app. lucid.document.app.picker.share.collaborator: Create, view, edit, and delete document collaborators for any Lucid document selected within an app. lucid.document.app.picker.share.collaborator:readonly: View document collaborators for any Lucid document selected within an app. lucid.document.app.picker.share.embed: Create, view, edit, and delete document embeds for any Lucid document selected within an app. lucid.document.app.picker.share.embed:readonly: View document embeds for any Lucid document selected within an app. lucid.document.app.picker.share.link: Create, view, edit, and delete share links for any Lucid document selected within an app. lucid.document.app.picker.share.link:readonly: View share links for any Lucid document selected within an app. lucid.document.accessRequest: Request access to Lucid documents. licenses:admin: Perform admin actions on licenses and subscriptions belonging to the account. licenses:admin.readonly: View licenses and subscriptions belonging to the account with admin permissions. teams: Create, view, and edit, archive, and restore any teams on your account. Control which users belong to teams. teams:readonly: View any teams on your account and list which users belong to them. teams:admin: Manage teams on your account. lucidchart.document.app: View, edit, and manage any Lucidchart document selected for this third-party application. Create, view, edit, and manage any Lucidchart document within its app-specific folder. lucidchart.document.app.folder: Create, view, edit, and manage any Lucidchart document within its app-specific folder. lucidchart.document.app.picker: View, edit, and manage any Lucidchart document selected for this third-party application. lucidchart.document.app.picker:readonly: View and download any Lucidchart document selected for this third-party application. lucidchart.document.app.picker.share: Create, view, edit, and delete document collaborators, embeds, and share links for any Lucidchart document selected for this third-party application. lucidchart.document.app.picker.share:readonly: View document collaborators, embeds, and share links for any Lucidchart document selected for this third-party application. lucidchart.document.app.picker.share.collaborator: Create, view, edit, and delete collaborators and invitations of any Lucidchart document on your team or enterprise account selected for the third-party application. lucidchart.document.app.picker.share.collaborator:readonly: View collaborators and invitations of any Lucidchart document on your team or enterprise account selected for the third-party application. lucidchart.document.app.picker.share.embed: Create, view, edit, and delete embeds of any Lucidchart document on your team or enterprise account selected for the third-party application. lucidchart.document.app.picker.share.embed:readonly: View embeds of any Lucidchart document on your team or enterprise account selected for the third-party application. lucidchart.document.app.picker.share.link: Create, view, edit, and delete the third party application's share links of any Lucidchart document on your team or enterprise account selected for the third-party application. lucidchart.document.app.picker.share.link:readonly: View the third party application's share links of any Lucidchart document on your team or enterprise account selected for the third-party application. lucidchart.document.content: Create, view, edit, and delete any Lucidchart document on your account. lucidchart.document.content:readonly: View and download any Lucidchart document on your account. lucidchart.document.content:admin: Perform admin actions on Lucidchart documents belonging to the account. lucidchart.document.content:admin.readonly: View all Lucidchart documents belonging to the account with admin permissions. lucidchart.document.content.share: Create, view, edit, and delete document collaborators, embeds, and share links for any of your Lucidchart documents. lucidchart.document.content.share:readonly: View document collaborators, embeds, and share links for any of your Lucidchart documents. lucidchart.document.content.share.collaborator: Create, view, edit, and delete collaborators and invitations for any of your Lucidchart documents on your team or enterprise account. lucidchart.document.content.share.collaborator:readonly: View collaborators and invitations for any of your Lucidchart documents on your team or enterprise account. lucidchart.document.content.share.embed: Create, view, edit, and delete embeds for any of your Lucidchart documents on your team or enterprise account. lucidchart.document.content.share.embed:readonly: View embeds for any of your Lucidchart documents on your team or enterprise account. lucidchart.document.content.share.link: Create, view, edit, and delete the third party application's share links for any of your Lucidchart documents on your team or enterprise account. lucidchart.document.content.share.link:readonly: View the third party application's share links for any of your Lucidchart documents on your team or enterprise account. lucidchart.document.storage:admin.readonly: Perform admin actions backing up Lucidchart documents belonging to the account. lucidchart.document.accessRequest: Request access to Lucidchart documents. lucidspark.document.app: View, edit, and manage any Lucidspark board selected for this third-party application. Create, view, edit, and manage any Lucidspark board within its app-specific folder. lucidspark.document.app.folder: Create, view, edit, and manage any Lucidspark board within its app-specific folder. lucidspark.document.app.picker: View, edit, and manage any Lucidspark board selected for this third-party application. lucidspark.document.app.picker:readonly: View and download any Lucidspark board selected for this third-party application. lucidspark.document.app.picker.share: Create, view, edit, and delete document collaborators, embeds, and share links for any Lucidspark board selected for this third-party application. lucidspark.document.app.picker.share:readonly: View document collaborators, embeds, and share links for any Lucidspark board selected for this third-party application. lucidspark.document.app.picker.share.collaborator: Create, view, edit, and delete collaborators and invitations of any Lucidspark board on your team or enterprise account selected for the third-party application. lucidspark.document.app.picker.share.collaborator:readonly: View collaborators and invitations of any Lucidspark board on your team or enterprise account selected for the third-party application. lucidspark.document.app.picker.share.embed: Create, view, edit, and delete embeds of any Lucidspark board on your team or enterprise account selected for the third-party application. lucidspark.document.app.picker.share.embed:readonly: View embeds of any Lucidspark board on your team or enterprise account selected for the third-party application. lucidspark.document.app.picker.share.link: Create, view, edit, and delete the third party application's share links of any Lucidspark board on your team or enterprise account selected for the third-party application. lucidspark.document.app.picker.share.link:readonly: View the third party application's share links of any Lucidspark board on your team or enterprise account selected for the third-party application. lucidspark.document.content: Create, view, edit, and delete any Lucidspark board on your account. lucidspark.document.content:readonly: View and download any Lucidspark board on your account. lucidspark.document.content:admin: Perform admin actions on Lucidspark boards belonging to the account. lucidspark.document.content:admin.readonly: View all Lucidspark boards belonging to the account with admin permissions. lucidspark.document.content.share: Create, view, edit, and delete document collaborators, embeds, and share links for any of your Lucidspark boards. lucidspark.document.content.share:readonly: View document collaborators, embeds, and share links for any of your Lucidspark boards. lucidspark.document.content.share.collaborator: Create, view, edit, and delete collaborators and invitations for any of your Lucidspark boards on your team or enterprise account. lucidspark.document.content.share.collaborator:readonly: View collaborators and invitations for any of your Lucidspark boards on your team or enterprise account. lucidspark.document.content.share.embed: Create, view, edit, and delete embeds for any of your Lucidspark boards on your team or enterprise account. lucidspark.document.content.share.embed:readonly: View embeds for any of your Lucidspark boards on your team or enterprise account. lucidspark.document.content.share.link: Create, view, edit, and delete the third party application's share links for any of your Lucidspark boards on your team or enterprise account. lucidspark.document.content.share.link:readonly: View the third party application's share links for any of your Lucidspark boards on your team or enterprise account. lucidspark.document.storage:admin.readonly: Perform admin actions backing up Lucidspark boards belonging to the account. lucidspark.document.accessRequest: Request access to Lucidspark boards. lucidscale.document.app: View, edit, and manage any Lucidscale model selected for this third-party application. Create, view, edit, and manage any Lucidscale model within its app-specific folder. lucidscale.document.app.folder: Create, view, edit, and manage any Lucidscale model within its app-specific folder. lucidscale.document.app.picker: View, edit, and manage any Lucidscale model selected for this third-party application. lucidscale.document.app.picker:readonly: View and download any Lucidscale model selected for this third-party application. lucidscale.document.app.picker.share: Create, view, edit, and delete document collaborators, embeds, and share links for any Lucidscale model selected for this third-party application. lucidscale.document.app.picker.share:readonly: View document collaborators, embeds, and share links for any Lucidscale model selected for this third-party application. lucidscale.document.app.picker.share.collaborator: Create, view, edit, and delete collaborators and invitations of any Lucidscale model on your team or enterprise account selected for the third-party application. lucidscale.document.app.picker.share.collaborator:readonly: View collaborators and invitations of any Lucidscale model on your team or enterprise account selected for the third-party application. lucidscale.document.app.picker.share.embed: Create, view, edit, and delete embeds of any Lucidscale model on your team or enterprise account selected for the third-party application. lucidscale.document.app.picker.share.embed:readonly: View embeds of any Lucidscale model on your team or enterprise account selected for the third-party application. lucidscale.document.app.picker.share.link: Create, view, edit, and delete the third party application's share links of any Lucidscale model on your team or enterprise account selected for the third-party application. lucidscale.document.app.picker.share.link:readonly: View the third party application's share links of any Lucidscale model on your team or enterprise account selected for the third-party application. lucidscale.document.content: Create, view, edit, and delete any Lucidscale model on your account. lucidscale.document.content:readonly: View and download any Lucidscale model on your account. lucidscale.document.content:admin: Perform admin actions on Lucidscale models belonging to the account. lucidscale.document.content:admin.readonly: View all Lucidscale models belonging to the account with admin permissions. lucidscale.document.content.share: Create, view, edit, and delete document collaborators, embeds, and share links for any of your Lucidscale models. lucidscale.document.content.share:readonly: View document collaborators, embeds, and share links for any of your Lucidscale models. lucidscale.document.content.share.collaborator: Create, view, edit, and delete collaborators and invitations for any of your Lucidscale models on your team or enterprise account. lucidscale.document.content.share.collaborator:readonly: View collaborators and invitations for any of your Lucidscale models on your team or enterprise account. lucidscale.document.content.share.embed: Create, view, edit, and delete embeds for any of your Lucidscale models on your team or enterprise account. lucidscale.document.content.share.embed:readonly: View embeds for any of your Lucidscale models on your team or enterprise account. lucidscale.document.content.share.link: Create, view, edit, and delete the third party application's share links for any of your Lucidscale models on your team or enterprise account. lucidscale.document.content.share.link:readonly: View the third party application's share links for any of your Lucidscale models on your team or enterprise account. lucidscale.document.storage:admin.readonly: Perform admin actions backing up Lucidscale models belonging to the account. lucidscale.document.accessRequest: Request access to Lucidscale models. offline_access: Continue to perform authorized actions when you're not logged in (required to refresh tokens). user.profile: Allow applications to view basic information about you (e.g., full name, username, and email). document.app: View, edit, and manage any Lucidchart document selected for this third-party application. Create, view, edit, and manage any Lucidchart document within its app-specific folder. document.app.folder: Create, view, edit, and manage any Lucidchart document within its app-specific folder. document.app.picker: View, edit, and manage any Lucidchart document selected for this third-party application. document.app.picker:readonly: View and download any Lucidchart document selected for this third-party application. document.content: Create, view, edit, and delete any Lucidchart document on your account. document.content:readonly: View and download any Lucidchart document on your account. ApiKey: type: http scheme: bearer x-harvest: harvested: '2026-08-01' method: searched source: https://lucid-developer-docs.readme.io/mcp note: 'Assembled operation-by-operation from Lucid''s own documentation MCP server (tools list-endpoints + get-endpoint), which returns verbatim OpenAPI 3.0.3 fragments out of the spec Lucid uploaded to its ReadMe hub (/branches/1.4/apis/lucid-rest-api.json). Paths, operations, parameters, request bodies, responses, components and securitySchemes are provider content, unmodified. Only the info block is ours: ReadMe''s per-endpoint fragments omit info, so title/description are copied verbatim from the provider''s own list-specs description for this spec.'