Lucid Cloud API

Manage cloud infrastructure credentials, data sources, and architecture diagrams for AWS, Azure, and Google Cloud.

Operations 50

GET /v1/credentials/aws/externalId Get AWS External ID #
POST /v1/credentials/aws Create AWS Credential #
PATCH /v1/credentials/aws/{awsCredentialId} Update AWS Credential #
POST /v1/credentials/azure Create Azure Credential #
PATCH /v1/credentials/azure/{azureCredentialId} Update Azure Credential #
POST /v1/credentials/googleCloud Create Google Cloud Credential #
PATCH /v1/credentials/googleCloud/{googleCloudCredentialId} Update Google Cloud Credential #
GET /v1/credentials List Credentials #
GET /v1/credentials/{credentialId} Get Credential #
DELETE /v1/credentials/{credentialId} Delete Credential #
GET /v1/dataSources/aws/resources Get Fully Supported AWS Resources #
GET /v2/dataSources/aws/regions Get Supported AWS Regions #
GET /v1/dataSources/azure/resources Get Fully Supported Azure Resources #
GET /v1/dataSources/googleCloud/resources Get Fully Supported Google Cloud Resources #
POST /v1/dataSources/aws Create AWS Data Source #
GET /v1/dataSources/aws/{jobReferenceId}/status Get "Create AWS Data Source" Job Status #
POST /v1/dataSources/aws/{awsDataSourceId} Update AWS Data Source #
PATCH /v1/dataSources/aws/{awsDataSourceId} Edit AWS Data Source #
POST /v1/dataSources/aws/{awsDataSourceId}/upload Update AWS Data Source from File #
GET /v1/dataSources/aws/{awsDataSourceId}/{jobReferenceId}/status Get "Update AWS Data Source" Job Status #
POST /v1/dataSources/azure Create Azure Data Source #
GET /v1/dataSources/azure/{jobReferenceId}/status Get "Create Azure Data Source" Job Status #
POST /v1/dataSources/azure/{azureDataSourceId} Update Azure Data Source #
PATCH /v1/dataSources/azure/{azureDataSourceId} Edit Azure Data Source #
POST /v1/dataSources/azure/{azureDataSourceId}/upload Update Azure Data Source from File #
GET /v1/dataSources/azure/{azureDataSourceId}/{jobReferenceId}/status Get "Update Azure Data Source" Job Status #
POST /v1/dataSources/googleCloud Create Google Cloud Data Source #
GET /v1/dataSources/googleCloud/{jobReferenceId}/status Get "Create Google Cloud Data Source" Job Status #
POST /v1/dataSources/googleCloud/{googleCloudDataSourceId} Update Google Cloud Data Source #
PATCH /v1/dataSources/googleCloud/{googleCloudDataSourceId} Edit Google Cloud Data Source #
POST /v1/dataSources/googleCloud/{googleCloudDataSourceId}/upload Update Google Cloud Data Source from File #
GET /v1/dataSources/googleCloud/{googleCloudDataSourceId}/{jobReferenceId}/status Get "Update Google Cloud Data Source" Job Status #
GET /v1/dataSources List Data Sources #
GET /v1/dataSources/{dataSourceId} Get Data Source #
DELETE /v1/dataSources/{dataSourceId} Delete Data Source #
GET /v1/documents/cloud/aws/viewTemplates Get Supported AWS View Templates #
GET /v1/documents/cloud/azure/viewTemplates Get Supported Azure View Templates #
GET /v1/documents/cloud/googleCloud/viewTemplates Get Supported Google Cloud View Templates #
POST /v1/documents/cloud/aws Create Model from AWS Data Source #
GET /v1/documents/cloud/aws/{jobReferenceId}/status Get "Create Model from AWS Data Source" Job Status #
POST /v1/documents/cloud/aws/{documentId}/sync Sync Model with AWS Data Source #
GET /v1/documents/cloud/aws/{documentId}/sync/{jobReferenceId}/status Get "Sync Model with AWS Data Source" Job Status #
POST /v1/documents/cloud/azure Create Model from Azure Data Source #
GET /v1/documents/cloud/azure/{jobReferenceId}/status Get "Create Model from Azure Data Source" Job Status #
POST /v1/documents/cloud/azure/{documentId}/sync Sync Model with Azure Data Source #
GET /v1/documents/cloud/azure/{documentId}/sync/{jobReferenceId}/status Get "Sync Model with Azure Data Source" Job Status #
POST /v1/documents/cloud/googleCloud Create Model from Google Cloud Data Source #
GET /v1/documents/cloud/googleCloud/{jobReferenceId}/status Get "Create Model from Google Cloud Data Source" Job Status #
POST /v1/documents/cloud/googleCloud/{documentId}/sync Sync Model with Google Cloud Data Source #
GET /v1/documents/cloud/googleCloud/{documentId}/sync/{jobReferenceId}/status Get "Sync Model with Google Cloud Data Source" Job Status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lucid-cloud-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lucid-cloud-api-openapi.yml Raw ↑
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 

# --- truncated at 32 KB (108 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lucid/refs/heads/main/openapi/lucid-cloud-api-openapi.yml