CloudQuery onboardings API

The onboardings API from CloudQuery — 21 operation(s) for onboardings.

OpenAPI Specification

cloudquery-onboardings-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@cloudquery.io
    name: CloudQuery Support Team
    url: https://cloudquery.io
  description: 'Welcome to the CloudQuery Platform API documentation! This API can be used to interact with the CloudQuery platform. As a user, the API allows you to search the CloudQuery asset inventory, run SQL queries against the data warehouse, save and load searches, and much more. As an administrator, it allows you to manage your teams, syncs, and other objects.

    ### Authentication

    The API is secured using bearer tokens. To get started, you can generate an API key for your Platform deployment from your platform dashboard. For a step-by-step guide, see: https://www.cloudquery.io/docs/cli/managing-cloudquery/deployments/generate-api-key.

    The base URL for the API depends on where your CloudQuery Platform is hosted. If running locally, this is usually http://localhost:3000/api. In a production deployment it should be an HTTPS URL. For purposes of illustration, we will assume the platform instance is available at https://cloudquery.mycompany.com. In this case, the base API endpoint will be https://cloudquery.mycompany.com/api.

    ### Example Request

    To test your connection to the API, we can use the `/plugins` endpoint. For example:

    `curl -v -H "Authorization: Bearer $CLOUDQUERY_API_KEY" \ https://cloudquery.mycompany.com/api/plugins`

    '
  license:
    name: MIT
    url: https://spdx.org/licenses/MIT
  termsOfService: https://www.cloudquery.io/terms
  title: CloudQuery Platform OpenAPI Spec admin onboardings API
  version: 1.0.0
security:
- bearerAuth: []
- cookieAuth: []
tags:
- name: onboardings
paths:
  /onboardings/aws/oidc:
    post:
      operationId: PlatformCreateAWSOnboarding
      description: Create an interactive onboarding for AWS
      tags:
      - onboardings
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - single_account
              properties:
                single_account:
                  type: boolean
                  description: 'Specifies the type of onboarding to create: either a single account onboarding or an organization onboarding

                    '
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSCreateResponse'
          description: Created
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/oidc/{onboarding_id}:
    get:
      operationId: PlatformGetAWSOnboarding
      description: Query an interactive onboarding for AWS
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      tags:
      - onboardings
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWS'
          description: OK
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/oidc/{onboarding_id}/notify:
    post:
      operationId: PlatformNotifyOnboarding
      description: Update onboarding state
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSNotification'
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/oidc/{onboarding_id}/accounts:
    get:
      operationId: PlatformGetAWSAccountsInRoot
      description: Query AWS accounts under organization root
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      tags:
      - onboardings
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSAccounts'
          description: OK
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/oidc/{onboarding_id}/accounts/{aws_orgunit_id}:
    get:
      operationId: PlatformGetAWSAccountsInParent
      description: Query AWS accounts under a specifc Organizational Unit
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      - $ref: '#/components/parameters/platform_aws_orgunit_id'
      tags:
      - onboardings
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSAccounts'
          description: OK
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/oidc/{onboarding_id}/accounts/provision:
    post:
      operationId: PlatformProvisionOnboardingConfiguration
      description: Provision onboarding configuration into the cloud account
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSProvision'
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '422':
          $ref: '#/components/responses/PlatformUnprocessableEntity'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/cur:
    post:
      operationId: PlatformCreateAWSCUROnboarding
      description: Create an interactive onboarding for AWS CUR
      tags:
      - onboardings
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSCURCreateResponse'
          description: Created
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/cur/{onboarding_id}:
    get:
      operationId: PlatformGetAWSCUROnboarding
      description: Query an interactive onboarding for AWS CUR
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      tags:
      - onboardings
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSCUR'
          description: OK
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/cur/{onboarding_id}/notify:
    post:
      operationId: PlatformNotifyAWSCUROnboarding
      description: Update AWS CUR onboarding state
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSCURNotification'
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/cur/{onboarding_id}/verify:
    post:
      operationId: PlatformVerifyAWSCUROnboarding
      description: Trigger verification of the AWS CUR onboarding
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified:
    post:
      operationId: PlatformCreateAWSUnifiedOnboarding
      description: Create a unified composable onboarding for AWS
      tags:
      - onboardings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedCreateRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedCreateResponse'
          description: Created
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}:
    get:
      operationId: PlatformGetAWSUnifiedOnboarding
      description: Query a unified AWS onboarding
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSUnified'
          description: OK
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/notify:
    post:
      operationId: PlatformNotifyAWSUnifiedOnboarding
      description: Update unified AWS onboarding state via CloudFormation callback
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedNotification'
      responses:
        '202':
          description: Accepted
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/accounts:
    get:
      operationId: PlatformGetAWSUnifiedAccountsInRoot
      description: Query AWS accounts under the organization root (requires asset_inventory feature)
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSAccounts'
          description: OK
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/accounts/{aws_orgunit_id}:
    get:
      operationId: PlatformGetAWSUnifiedAccountsInParent
      description: Query AWS accounts under a specific Organizational Unit
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      - name: aws_orgunit_id
        in: path
        required: true
        description: Organizational Unit ID
        schema:
          type: string
          x-go-name: OrganizationalUnitID
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSAccounts'
          description: OK
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/accounts/provision:
    post:
      operationId: PlatformProvisionUnifiedOnboardingConfiguration
      description: Provision sync roles into selected AWS accounts (requires asset_inventory feature)
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSProvision'
      responses:
        '202':
          description: Provisioning started
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/verify-cur:
    post:
      operationId: PlatformVerifyAWSUnifiedCUR
      description: Verify CUR S3 access for the unified onboarding (requires cost_and_usage feature)
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      responses:
        '202':
          description: Verification started
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/test-connections:
    post:
      operationId: PlatformCreateAWSUnifiedTestConnections
      description: Create test connections for all enabled features in one call
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedTestConnectionsRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedTestConnectionsResponse'
          description: Created
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /onboardings/aws/unified/{onboarding_id}/integrations:
    post:
      operationId: PlatformCreateAWSUnifiedIntegrations
      description: Create integrations for all enabled features using completed test connections
      tags:
      - onboardings
      parameters:
      - $ref: '#/components/parameters/platform_onboarding_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedIntegrationsRequest'
      responses:
        '201':
          description: Integrations created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedIntegrationsResponse'
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '404':
          $ref: '#/components/responses/PlatformNotFound'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /aws/unified/test-connections:
    post:
      operationId: PlatformCreateAWSUnifiedTestConnectionsStandalone
      description: Create test connections for AWS unified features without an onboarding. Frontend is expected to provide a per-feature plugin spec (with ${ENV_VAR} placeholders for sensitive values like external_id) plus an env list containing the corresponding values.
      tags:
      - onboardings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformAWSUnifiedTestConnectionsRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedTestConnectionsResponse'
          description: Created
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
  /aws/unified/integrations:
    post:
      operationId: PlatformCreateAWSUnifiedIntegrationsStandalone
      description: 'Create AWS unified integrations from previously created standalone test connections (no onboarding). Like the onboarding-bound counterpart, this endpoint may create multiple syncs from a single request: asset_inventory creates a main sync plus a CloudTrail companion sync, additional_metadata creates a metadata sync, and cost_and_usage creates a CUR sync.'
      tags:
      - onboardings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PlatformAWSUnifiedIntegrationsRequest'
      responses:
        '201':
          description: Integrations created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformOnboardingAWSUnifiedIntegrationsResponse'
        '400':
          $ref: '#/components/responses/PlatformBadRequest'
        '401':
          $ref: '#/components/responses/PlatformRequiresAuthentication'
        '500':
          $ref: '#/components/responses/PlatformInternalError'
components:
  schemas:
    PlatformOnboardingAWSCreateResponse:
      type: object
      description: AWS OpenID onboarding
      additionalProperties: false
      required:
      - id
      - issuer_url
      - audience
      - subject
      - template_url
      - notify_path
      - notify_token
      properties:
        id:
          $ref: '#/components/schemas/PlatformOnboardingID'
        region:
          type: string
          description: An AWS region (such as 'us-east-1') where stack is deployed
        stack_name:
          type: string
          description: Stack name that should be used
          maxLength: 128
        issuer_url:
          type: string
          description: URL of the OpenID server to use when setting up a trust relationship
          x-go-name: IssuerURL
        audience:
          type: string
          description: OpenID audience claim for the trust realshionship
          x-go-name: Audience
        subject:
          type: string
          description: OpenID subject claim for the trust relationship
          x-go-name: Subject
        notify_path:
          type: string
          description: Path of the notify endpoint to use for status updates
          x-go-name: NotifyPath
        template_url:
          type: string
          description: URL of the CloudFormation template to use for the authentication
          x-go-name: TemplateURL
        notify_token:
          type: string
          description: An authentication token that should be used for notifications
    PlatformOnboardingAWSProvision:
      type: object
      description: Stackset provisioning configuration
      required:
      - notify_url
      - organizational_units
      properties:
        notify_url:
          type: string
          description: URL that should be used for provisioning notifications (including scheme, hostname, and path)
        organizational_units:
          type: array
          description: OUs to provision roles into
          items:
            type: string
            pattern: ^(r-[0-9a-z]{4,32}|ou-[a-z0-9]{4,32}-[a-z0-9]{8,32})$
            example: r-xvfz
            x-pattern-message: must start with either "r-" followed by 4 to 32 lowercase letters or digits,  or "ou-" followed by 4 to 32 lowercase letters or digits, a hyphen, and then  8 to 32 lowercase letters or digits, with no additional characters before or after.
        skip_accounts:
          type: array
          description: Account IDs to skip onboarding
          items:
            description: ID of an account in AWS
            type: string
            example: '615713231484'
            pattern: ^\d{12}$
            x-pattern-message: account ID must be exactly 12 digits
    PlatformOnboardingAWSAccounts:
      type: object
      description: AWS OpenID onboarding account structure
      additionalProperties: false
      required:
      - id
      - type
      properties:
        id:
          type: string
          description: ID of the account or OU
          x-go-name: ID
        arn:
          type: string
          description: ARN of the account or OU
          x-go-name: ARN
        type:
          type: string
          description: Type of the account
          enum:
          - OU
          - account
          - root
        name:
          type: string
          description: Display name of the account or OU
        children:
          type: array
          description: Children accounts and OUs of the target account
          items:
            $ref: '#/components/schemas/PlatformOnboardingAWSAccounts'
    PlatformStartedNotification:
      allOf:
      - $ref: '#/components/schemas/PlatformBaseNotification'
      - type: object
        properties:
          status:
            enum:
            - started
    PlatformCompletedNotification:
      allOf:
      - $ref: '#/components/schemas/PlatformBaseNotification'
      - type: object
        required:
        - admin_role_arn
        - sync_role_name
        - organizational_units
        - skipped_accounts
        properties:
          status:
            enum:
            - completed
          admin_role_arn:
            type: string
          sync_role_name:
            type: string
          organizational_units:
            type: array
            items:
              type: string
          skipped_accounts:
            type: array
            items:
              type: string
          failed_accounts:
            type: number
          additional_stack_ids:
            type: array
            items:
              type: string
    PlatformOnboardingAWSUnifiedTestConnectionsRequest:
      type: object
      description: Request to create test connections for all enabled features
      additionalProperties: false
      properties:
        asset_inventory:
          type: object
          description: Configuration for asset inventory test connection (regions, etc.)
          additionalProperties: true
        cost_and_usage:
          type: object
          description: Configuration for cost and usage test connection
          additionalProperties: true
        additional_metadata:
          type: object
          description: Configuration for additional metadata test connection
          additionalProperties: true
    PlatformFieldError:
      allOf:
      - $ref: '#/components/schemas/PlatformBasicError'
      - properties:
          errors:
            items:
              type: string
            type: array
          field_errors:
            additionalProperties:
              type: string
            type: object
        type: object
    PlatformOnboardingAWSNotification:
      oneOf:
      - $ref: '#/components/schemas/PlatformStartedNotification'
      - $ref: '#/components/schemas/PlatformRevokedNotification'
      - $ref: '#/components/schemas/PlatformFailedNotification'
      - $ref: '#/components/schemas/PlatformDeployedNotification'
      - $ref: '#/components/schemas/PlatformCompletedNotification'
      - $ref: '#/components/schemas/PlatformCompletedSingleAccountNotification'
      discriminator:
        propertyName: status
        mapping:
          started: '#/components/schemas/PlatformStartedNotification'
          revoked: '#/components/schemas/PlatformRevokedNotification'
          failed: '#/components/schemas/PlatformFailedNotification'
          deployed: '#/components/schemas/PlatformDeployedNotification'
          completed: '#/components/schemas/PlatformCompletedNotification'
          completed_account: '#/components/schemas/PlatformCompletedSingleAccountNotification'
    PlatformOnboardingAWSCURCreateResponse:
      type: object
      description: AWS CUR onboarding create response
      additionalProperties: false
      required:
      - id
      - region
      - issuer_url
      - audience
      - subject
      - template_url
      - notify_path
      - notify_token
      properties:
        id:
          $ref: '#/components/schemas/PlatformOnboardingID'
        region:
          type: string
          description: AWS region where the CUR stack must be deployed. Always 'us-east-1' because AWS Cost and Usage Reports are only available in that region.
        stack_name:
          type: string
          description: Stack name that should be used
          maxLength: 128
        issuer_url:
          type: string
          description: URL of the OpenID server to use when setting up a trust relationship
          x-go-name: IssuerURL
        audience:
          type: string
          description: OpenID audience claim for the trust relationship
          x-go-name: Audience
        subject:
          type: string
          description: OpenID subject claim for the trust relationship
          x-go-name: Subject
        notify_path:
          type: string
          description: Path of the notify endpoint to use for status updates
          x-go-name: NotifyPath
        template_url:
          type: string
          description: URL of the CloudFormation template to use for the CUR setup
          x-go-name: TemplateURL
        notify_token:
          type: string
          description: An authentication token that should be used for notifications
    PlatformOnboardingAWSCURNotification:
      oneOf:
      - $ref: '#/components/schemas/PlatformStartedNotification'
      - $ref: '#/components/schemas/PlatformRevokedNotification'
      - $ref: '#/components/schemas/PlatformFailedNotification'
      - $ref: '#/components/schemas/PlatformDeployedCURNotification'
      discriminator:
        propertyName: status
        mapping:
          started: '#/components/schemas/PlatformStartedNotification'
          revoked: '#/components/schemas/PlatformRevokedNotification'
          failed: '#/components/schemas/PlatformFailedNotification'
          deployed_cur: '#/components/schemas/PlatformDeployedCURNotification'
    PlatformOnboardingAWSUnifiedIntegrationConfig:
      type: object
      description: Per-feature configuration for a unified integration, containing only the test connection reference
      additionalProperties: false
      required:
      - test_connection_id
      properties:
        test_connection_id:
          type: string
          format: uuid
          x-go-name: TestConnectionID
    PlatformOnboardingAWSUnifiedCreateRequest:
      type: object
      description: Request to create a unified AWS onboarding
      additionalProperties: false
      required:
      - features
      properties:
        features:
          type: array
          description: 'List of features to enable. Determines the CloudFormation template composition.

            '
          items:
            type: string
            enum:
            - asset_inventory
            - cost_and_usage
            - additional_metadata
          minItems: 1
        single_account:
          type: boolean
          default: false
          description: 'Only relevant when asset_inventory is selected. If true, uses single-account mode instead of organization mode.

            '
    PlatformDeployedUnifiedNotification:
      type: object
      description: Notification sent when unified CloudFormation stack deployment completes
      additionalProperties: false
      required:
      - status
      - stack_id
      properties:
        status:
          type: string
          enum:
          - deployed_unified
        stack_id:
          type: string
          description: CloudFormation stack ARN
        management_role_arn:
          type: string
          description: Management role ARN (present when asset_inventory is active)
          x-go-name: ManagementRoleArn
        deployment_mode:
          type: string
          description: Deployment mode (present when asset_inventory is active)
        cur_main_role_arn:
          type: string
          description: CUR main role ARN (present when cost_and_usage is active)
          x-go-name: CurMainRoleArn
        cur_sync_role_arn:
          type: string
          description: CUR sync role ARN (present when cost_and_usage is active)
          x-go-name: CurSyncRoleArn
        cur_s3_bucket_name:
          type: string
          description: S3 bucket for CUR data (present when cost_and_usage is active)
          x-go-name: CurS3BucketName
        cur_s3_report_prefix:
          type: string
          description: S3 prefix for CUR reports (present when cost_and_usage is active)
          x-go-name: CurS3ReportPrefix
        cur_report_name:
          type: string
          description: BCM Data Export name (present when cost_and_usage is active)
          x-go-name: CurReportName
    PlatformOnboardingID:
      description: ID of the cloud provider onboarding session
      type: string
      format: uuid
      example: 12345678-1234-1234-1234-1234567890ab
      x-go-name: OnboardingID
    PlatformOnboardingAWSUnifiedIntegrationsResponse:
      type: object
      description: 'Response containing the integrations created by the unified onboarding flow. Some features create multiple integrations from a single config: asset_inventory creates both a main sync and a companion sync with a "-cloudtrail" suffix, and additional_metadata creates a sync with a "-metadata" suffix. All names are derived from the user-provided name in the request.

        '
      required:
      - integrations
      properties:
        integrations:
          type: array
          items:
            type: object
            required:
            - name
            - feature
            properties:
              name:
                type: string
                description: 'The integration name. For asset_inventory, this may be the base name or the base name with a "-cloudtrail" suffix. For additional_metadata, this is the base name with a "-metadata" suffix.

                  '
              feature:
                type: string
                enum:
                - asset_inventory
                - cost_and_usage
                - a

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