CloudQuery Platform OpenAPI Spec (1.0.0)

Download OpenAPI specification:

CloudQuery Support Team: support@cloudquery.io URL: https://cloudquery.io License: MIT Terms of Service

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://docs.cloudquery.io/docs/deployment/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

admin

PlatformAddUser

Add new user

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
email
required
string
name
required
string
password
string
roles
required
Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ]

Roles for the user

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "name": "string",
  • "password": "string",
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformGetUser

Get user details

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Responses

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformUpdateUser

Update user

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Request Body schema: application/json
email
string
name
string
password
string
enabled
boolean
roles
Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ]

Roles for the user

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "name": "string",
  • "password": "string",
  • "enabled": true,
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformDeleteUser

Delete user

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformGetSAML

Get SAML integration information

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "platform_sso_url": "string",
  • "platform_entity_id": "string",
  • "platform_metadata_download_url": "string",
  • "platform_certificate_download_url": "string",
  • "metadata_url": "string",
  • "metadata_xml": "string",
  • "logout_url": "string",
  • "role_group_key": "groups",
  • "role_mappings": {
    },
  • "default_roles": [
    ],
  • "disable_access_if_no_role_group": true,
  • "enabled": true,
  • "can_enable": true,
  • "certificate_fingerprint": "string",
  • "certificate_expires_at": "2019-08-24T14:15:22Z",
  • "rollover_certificate_fingerprint": "string",
  • "rollover_certificate_expires_at": "2019-08-24T14:15:22Z"
}

PlatformUpdateSAML

Update SAML integration information

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
metadata_url
string <url>

Metadata URL from identity provider. Mutually exclusive with metadata_xml

metadata_xml
string <url>

Metadata file contents from identity provider. Mutually exclusive with metadata_url

logout_url
string <url>

Logout URL from identity provider

role_group_key
string

Role group key name

object

Mapping from IdP group names to roles. Each key is a potential IdP group value for the specified role_group_key, and each value is an array of roles to assign to users in that group.

default_roles
Array of strings <uuid> (PlatformRoleID) [ items <uuid > ]

Default roles for new users who are not in any group

disable_access_if_no_role_group
boolean

Whether to disable access if no role group is found in the SAML assertion. If true, users without a role group will not be able to log in.

enabled
boolean

Whether to enable or disable SAML

Responses

Request samples

Content type
application/json
{
  • "metadata_url": "string",
  • "metadata_xml": "string",
  • "logout_url": "string",
  • "role_group_key": "string",
  • "role_mappings": {
    },
  • "default_roles": [
    ],
  • "disable_access_if_no_role_group": true,
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "platform_sso_url": "string",
  • "platform_entity_id": "string",
  • "platform_metadata_download_url": "string",
  • "platform_certificate_download_url": "string",
  • "metadata_url": "string",
  • "metadata_xml": "string",
  • "logout_url": "string",
  • "role_group_key": "groups",
  • "role_mappings": {
    },
  • "default_roles": [
    ],
  • "disable_access_if_no_role_group": true,
  • "enabled": true,
  • "can_enable": true,
  • "certificate_fingerprint": "string",
  • "certificate_expires_at": "2019-08-24T14:15:22Z",
  • "rollover_certificate_fingerprint": "string",
  • "rollover_certificate_expires_at": "2019-08-24T14:15:22Z"
}

PlatformCreateSAMLRolloverCertificate

Create new SAML rollover certificate

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "platform_sso_url": "string",
  • "platform_entity_id": "string",
  • "platform_metadata_download_url": "string",
  • "platform_certificate_download_url": "string",
  • "metadata_url": "string",
  • "metadata_xml": "string",
  • "logout_url": "string",
  • "role_group_key": "groups",
  • "role_mappings": {
    },
  • "default_roles": [
    ],
  • "disable_access_if_no_role_group": true,
  • "enabled": true,
  • "can_enable": true,
  • "certificate_fingerprint": "string",
  • "certificate_expires_at": "2019-08-24T14:15:22Z",
  • "rollover_certificate_fingerprint": "string",
  • "rollover_certificate_expires_at": "2019-08-24T14:15:22Z"
}

PlatformDeleteSAMLRolloverCertificate

Delete current SAML rollover certificate

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
fingerprint
required
string

The fingerprint of the rollover certificate to delete

Responses

Request samples

Content type
application/json
{
  • "fingerprint": "SHA256:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformPromoteSAMLRolloverCertificate

Promote SAML rollover certificate

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
fingerprint
required
string

The fingerprint of the rollover certificate to promote

Responses

Request samples

Content type
application/json
{
  • "fingerprint": "SHA256:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90"
}

Response samples

Content type
application/json
{
  • "platform_sso_url": "string",
  • "platform_entity_id": "string",
  • "platform_metadata_download_url": "string",
  • "platform_certificate_download_url": "string",
  • "metadata_url": "string",
  • "metadata_xml": "string",
  • "logout_url": "string",
  • "role_group_key": "groups",
  • "role_mappings": {
    },
  • "default_roles": [
    ],
  • "disable_access_if_no_role_group": true,
  • "enabled": true,
  • "can_enable": true,
  • "certificate_fingerprint": "string",
  • "certificate_expires_at": "2019-08-24T14:15:22Z",
  • "rollover_certificate_fingerprint": "string",
  • "rollover_certificate_expires_at": "2019-08-24T14:15:22Z"
}

PlatformGetSettings

Show current platform settings

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "enforce_mfa": false
}

PlatformUpdateSettings

Update platform settings

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
enforce_mfa
boolean
Default: false

Whether or not to require MFA for all users

Responses

Request samples

Content type
application/json
{
  • "enforce_mfa": false
}

Response samples

Content type
application/json
{
  • "enforce_mfa": false
}

PlatformGetDataSettings

Show current platform data settings

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "ownership_tags": [ ]
}

PlatformUpdateDataSettings

Update platform data settings

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
ownership_tags
Array of strings

List of tag names for asset ownership

Responses

Request samples

Content type
application/json
{
  • "ownership_tags": [
    ]
}

Response samples

Content type
application/json
{
  • "ownership_tags": [ ]
}

alerts

PlatformListAllAlerts

List all alerts

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

state
Array of strings (PlatformAlertState)
Items Enum: "unknown" "pending" "inactive" "triggered"

Alert states

enabled
boolean

Enabled

tag
Array of strings (PlatformQueryTag)

Query tags

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTestUnsavedAlert

Test an unsaved alert

Authorizations:
bearerAuthcookieAuth
query Parameters
query_id
string <uuid> (PlatformQueryID)

ID of the query to fill in the alert

Request Body schema: application/json
required
message
required
string
severity
required
string (PlatformAlertSeverity)
Enum: "low" "medium" "high" "critical"
enabled
required
boolean

Indicates if the alert is enabled

notification_destinations
Array of strings <uuid> (PlatformNotificationDestinationID) [ items <uuid > ]

List of notification destinations to send alerts to

Responses

Request samples

Content type
application/json
{
  • "message": "All resources need to be tagged",
  • "severity": "low",
  • "enabled": true,
  • "notification_destinations": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

PlatformListAllNotificationDestinations

List all notification destinations

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{}

PlatformCreateNotificationDestination

Create notification destination

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
type
string
Default: "webhook"
Enum: "webhook" "slack"

Type of notification destination

slack_connection_id
string <uuid>

Slack connection ID (required for slack type)

slack_channels
Array of strings

List of Slack channel IDs to send notifications to (required for slack type)

custom_message
string

Optional custom message prepended to the alert when sending to Slack (only for slack type, must not be set for webhook)

url
string

Webhook URL (required for webhook type, must not be set for slack type)

object

HTTP headers (required for webhook type, must not be set for slack type)

http_body
string

HTTP body template (required for webhook type, must not be set for slack type). Supports simple variable interpolation using {{variable}} syntax. Available variables: {{query_name}}, {{query_url}}, {{alert_status}}, {{alert_message}}, {{alert_severity}}, {{alert_violations}}.

name
required
string
enabled
required
boolean

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Send to Slack",
  • "enabled": true,
  • "type": "webhook",
  • "http_headers": {
    },
  • "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
  • "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
  • "slack_channels": [
    ],
  • "custom_message": "string",
  • "last_notification_error_timestamp": "2019-08-24T14:15:22Z",
  • "last_notification_error_code": "string",
  • "last_notification_error_message": "string",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z"
}

PlatformTestUnsavedNotificationDestination

Test an unsaved notification destination

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
type
string
Default: "webhook"
Enum: "webhook" "slack"

Type of notification destination

slack_connection_id
string <uuid>

Slack connection ID (required for slack type)

slack_channels
Array of strings

List of Slack channel IDs to send notifications to (required for slack type)

custom_message
string

Optional custom message prepended to the alert when sending to Slack (only for slack type, must not be set for webhook)

url
string

Webhook URL (required for webhook type, must not be set for slack type)

object

HTTP headers (required for webhook type, must not be set for slack type)

http_body
string

HTTP body template (required for webhook type, must not be set for slack type). Supports simple variable interpolation using {{variable}} syntax. Available variables: {{query_name}}, {{query_url}}, {{alert_status}}, {{alert_message}}, {{alert_severity}}, {{alert_violations}}.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "is_success": true,
  • "http_status_code": 0,
  • "http_status": "string",
  • "http_body": "string",
  • "http_headers": {
    }
}

PlatformGetNotificationDestination

Get notification destination

Authorizations:
bearerAuthcookieAuth
path Parameters
notification_destination_id
required
string <uuid> (PlatformNotificationDestinationID)

The unique ID for the notification destination.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Send to Slack",
  • "enabled": true,
  • "type": "webhook",
  • "http_headers": {
    },
  • "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
  • "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
  • "slack_channels": [
    ],
  • "custom_message": "string",
  • "last_notification_error_timestamp": "2019-08-24T14:15:22Z",
  • "last_notification_error_code": "string",
  • "last_notification_error_message": "string",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z"
}

PlatformUpdateNotificationDestination

Update a notification destination

Authorizations:
bearerAuthcookieAuth
path Parameters
notification_destination_id
required
string <uuid> (PlatformNotificationDestinationID)

The unique ID for the notification destination.

Request Body schema: application/json
name
string
enabled
boolean
url
string
object
http_body
string

HTTP body template (required for webhook type, must not be set for slack type). Supports simple variable interpolation using {{variable}} syntax. Available variables: {{query_name}}, {{query_url}}, {{alert_status}}, {{alert_message}}, {{alert_severity}}, {{alert_violations}}.

custom_message
string

Optional custom message prepended to the alert when sending to Slack (only for slack type, must not be set for webhook)

slack_connection_id
string <uuid>

Slack connection ID (only for slack type, must not be set for webhook)

slack_channels
Array of strings

List of Slack channel IDs to send notifications to (only for slack type, must not be set for webhook)

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Send to Slack",
  • "enabled": true,
  • "type": "webhook",
  • "http_headers": {
    },
  • "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
  • "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
  • "slack_channels": [
    ],
  • "custom_message": "string",
  • "last_notification_error_timestamp": "2019-08-24T14:15:22Z",
  • "last_notification_error_code": "string",
  • "last_notification_error_message": "string",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z"
}

PlatformDeleteNotificationDestination

Delete a notification destination

Authorizations:
bearerAuthcookieAuth
path Parameters
notification_destination_id
required
string <uuid> (PlatformNotificationDestinationID)

The unique ID for the notification destination.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformGetNotificationDestinationAlerts

Get notification destination alerts

Authorizations:
bearerAuthcookieAuth
path Parameters
notification_destination_id
required
string <uuid> (PlatformNotificationDestinationID)

The unique ID for the notification destination.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTestNotificationDestination

Test a notification destination

Authorizations:
bearerAuthcookieAuth
path Parameters
notification_destination_id
required
string <uuid> (PlatformNotificationDestinationID)

The unique ID for the notification destination.

Responses

Response samples

Content type
application/json
{
  • "is_success": true,
  • "http_status_code": 0,
  • "http_status": "string",
  • "http_body": "string",
  • "http_headers": {
    }
}

PlatformCreateSlackConnection

Create Slack connection

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
code
required
string

OAuth code from Slack authorization

redirect_uri
string

Redirect URI that was used when obtaining the OAuth code (required by Slack when exchanging the code)

Responses

Request samples

Content type
application/json
{
  • "code": "string",
  • "redirect_uri": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "slack_workspace_id": "string",
  • "team_name": "string",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z"
}

PlatformListSlackChannels

List Slack channels for a connection

Authorizations:
bearerAuthcookieAuth
path Parameters
id
required
string <uuid>

Slack connection ID

query Parameters
name
string

Filter channels by name (case-insensitive partial match)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

PlatformDeleteAlert

Delete an alert associated with a saved query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

analytics

audit-logs

PlatformListAuditLogs

List audit log events with pagination and filtering

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

user_id
string <uuid>

Filter by user ID

event_type
string

Filter by event type

entity_display_name
string

Filter by entity display name

user_ip_address
string

Filter by user IP address

start_time
string <date-time>

Filter by start time (inclusive)

end_time
string <date-time>

Filter by end time (inclusive)

search
string

Search across user name, event type, entity display name, and user IP address

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetAuditLog

Get a specific audit log event by ID

Authorizations:
bearerAuthcookieAuth
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "user": {
    },
  • "user_ip_address": "string",
  • "event_type": "string",
  • "entity_display_name": "string",
  • "event_details": { },
  • "is_success": true,
  • "created_at": "2019-08-24T14:15:22Z"
}

chat

Start a new chat conversation

Create a new AI chat conversation

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
message
required
string

The initial message to start the conversation.

current_query
string

An optional current query to provide context for the conversation.

mode
string
Default: "sql"
Enum: "ask" "sql"

The mode of the conversation, which can influence the behavior of the AI.

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "current_query": "string",
  • "mode": "ask"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "title": "string",
  • "messages": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve a chat conversation

Get details of an existing AI chat conversation. Useful for polling for updates.

Authorizations:
bearerAuthcookieAuth
path Parameters
conversation_id
required
string <uuid>

ID of the chat conversation

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "title": "string",
  • "messages": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Add a message to an existing conversation

Send a new message to an existing AI chat conversation

Authorizations:
bearerAuthcookieAuth
path Parameters
conversation_id
required
string <uuid>

ID of the chat conversation

Request Body schema: application/json
required
message
required
string

The message content to be sent

query_context
string
Default: ""

Optional context for the message, such as the current SQL query being edited

mode
string
Default: "sql"
Enum: "ask" "sql"

The mode of the conversation, which can influence the behavior of the AI.

Responses

Request samples

Content type
application/json
{
  • "message": "Help me find all EC2 instances with open ports",
  • "query_context": "SELECT * FROM ec2_instances WHERE open_ports IS NOT NULL",
  • "mode": "ask"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "role": "user",
  • "content": "string",
  • "query_context": "string",
  • "message_type": "error",
  • "created_at": "2019-08-24T14:15:22Z",
  • "end_turn": false,
  • "mode": "ask"
}

custom-columns

PlatformListAllCustomColumns

List all custom columns

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (CustomColumnSortBy)
Items Enum: "id" "description" "column_name" "label" "value_expr" "created_by" "created_at" "updated_at"

Sort by options

sort_dir
Array of strings (CustomColumnSortDirection)
Items Enum: "asc" "desc"

Custom column sort direction options

search_term
string

Filter columns by name, label, or description.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformSaveCustomColumn

Save a custom column

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
description
string
column_name
required
string (PlatformCustomColumnColumnName) [ 1 .. 63 ] characters ^[a-zA-Z_][a-zA-Z0-9_]*$

The name for the custom column.

label
required
string
value_expr
required
string (PlatformCustomColumnValueExpr)

The SQL expression for the custom column.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "column_name": "tags_v1_region",
  • "label": "Environment name",
  • "value_expr": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "column_name": "tags_v1_region",
  • "label": "Environment name",
  • "value_expr": "string",
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformGetCustomColumn

Get a custom column

Authorizations:
bearerAuthcookieAuth
path Parameters
custom_column_id
required
string <uuid> (PlatformCustomColumnID)

The unique ID for the custom column.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "column_name": "tags_v1_region",
  • "label": "Environment name",
  • "value_expr": "string",
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformUpdateCustomColumn

Update a custom column

Authorizations:
bearerAuthcookieAuth
path Parameters
custom_column_id
required
string <uuid> (PlatformCustomColumnID)

The unique ID for the custom column.

Request Body schema: application/json
description
string
column_name
required
string (PlatformCustomColumnColumnName) [ 1 .. 63 ] characters ^[a-zA-Z_][a-zA-Z0-9_]*$

The name for the custom column.

label
required
string
value_expr
required
string (PlatformCustomColumnValueExpr)

The SQL expression for the custom column.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "column_name": "tags_v1_region",
  • "label": "Environment name",
  • "value_expr": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "description": "string",
  • "column_name": "tags_v1_region",
  • "label": "Environment name",
  • "value_expr": "string",
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformDeleteCustomColumn

Delete a custom column

Authorizations:
bearerAuthcookieAuth
path Parameters
custom_column_id
required
string <uuid> (PlatformCustomColumnID)

The unique ID for the custom column.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

filters

PlatformListFilters

List Filters

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

tag
Array of strings (PlatformFilterTag)

Filter tags

name_filter
string

Filter by filter name

expression_filter
string

Filter by filter expression

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformListFilterTags

List Filter Tags

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetFilterByID

Get a table filter by ID

Authorizations:
bearerAuthcookieAuth
path Parameters
filter_id
required
string <uuid> (PlatformFilterID)

The unique ID for the filter.

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "table": "cloud_assets",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformUpdateFilter

Update a table filter

Authorizations:
bearerAuthcookieAuth
path Parameters
filter_id
required
string <uuid> (PlatformFilterID)

The unique ID for the filter.

Request Body schema: application/json
name
string
description
string
expression
string (PlatformFilterExpression)

A table column filter.

tags
Array of strings (PlatformFilterTag)

Responses

Request samples

Content type
application/json
{
  • "name": "t2.micro EC2 instances",
  • "description": "string",
  • "expression": "resource_type=aws_s3_buckets",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "table": "cloud_assets",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformDeleteFilter

Delete a table filter

Authorizations:
bearerAuthcookieAuth
path Parameters
filter_id
required
string <uuid> (PlatformFilterID)

The unique ID for the filter.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformQueryListFilters

List Query Filters

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

tag
Array of strings (PlatformFilterTag)

Filter tags

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformQuerySaveFilter

Save Query Filter

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

Request Body schema: application/json
required
name
required
string
expression
required
string (PlatformFilterExpression)

A table column filter.

public
boolean
Default: true

Whether the filter is visible to all users, or only to the user who created it

tags
Array of strings (PlatformFilterTag)
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "public": true,
  • "tags": [
    ],
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "table": "cloud_assets",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformQueryListFilterTags

List Filter Tags For A Saved Query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTableListFilters

List Table Filters

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

tag
Array of strings (PlatformFilterTag)

Filter tags

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTableSaveFilter

Save Table Filter

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

Request Body schema: application/json
required
name
required
string
expression
required
string (PlatformFilterExpression)

A table column filter.

public
boolean
Default: true

Whether the filter is visible to all users, or only to the user who created it

tags
Array of strings (PlatformFilterTag)
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "public": true,
  • "tags": [
    ],
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "table": "cloud_assets",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformTableListFilterTags

List Filter Tags For A Table

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

healthcheck

PlatformIndex

Index endpoint, returns 200

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformHealthCheck

Health check endpoint, returns 200

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

images

notifications

PlatformListNotifications

List all notifications for triggered, enabled, policy-bound alerts

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

severities
Array of strings (PlatformPolicySeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by policy severities (policy matches any)

policy_group_ids
Array of strings <uuid> (Policy Group ID) [ items <uuid > ]

Filter by policy groups (policy matches any)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

plugins

PlatformListPlugins

List all plugins

query Parameters
sort_by
string
Enum: "created_at" "updated_at" "name" "downloads"

The field to sort by

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

include_release_stages
Array of strings (PlatformPluginReleaseStage)
Items Enum: "coming-soon" "preview" "ga" "deprecated"

Include these release stages in the response

exclude_release_stages
Array of strings (PlatformPluginReleaseStage)
Default: "deprecated"
Items Enum: "coming-soon" "preview" "ga" "deprecated"

Exclude these release stages from the response

Responses

Response samples

Content type
application/json
{}

PlatformGetPlugin

Get details about a given plugin.

path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

Responses

Response samples

Content type
application/json
{}

PlatformListPluginVersions

List all versions for a given plugin

path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

query Parameters
sort_by
string
Value: "created_at"

The field to sort by

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

include_drafts
boolean

Whether to include draft versions

include_fips
boolean

Whether to include fips versions

include_prereleases
boolean

Whether to include prerelease versions

version_filter
string (PlatformVersionFilter) ^[^~]?v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(...

A version filter in semantic version format with prefix ranges.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetPluginVersion

Get details about a given plugin version.

path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

version_name
required
string (PlatformVersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-...

The version in semantic version format.

Responses

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "published_at": "2017-07-14T16:53:42Z",
  • "name": "string",
  • "message": "- Added support for AWS S3 - Added support for AWS EC2",
  • "draft": true,
  • "retracted": true,
  • "protocols": [
    ],
  • "supported_targets": [
    ],
  • "checksums": [
    ],
  • "package_type": "native",
  • "spec_json_schema": "string",
  • "example_config": "string",
  • "ui_base_url": "string",
  • "ui_base_url_v2": "string"
}

PlatformDownloadPluginAsset

Download an asset for a given plugin version and target

path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

version_name
required
string (PlatformVersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-...

The version in semantic version format.

target_name
required
string
header Parameters
Accept
string

Responses

Response samples

Content type
application/json
{}

PlatformListPluginVersionTables

List tables for a given plugin version. This only applies to source plugins.

path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

version_name
required
string (PlatformVersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-...

The version in semantic version format.

query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetPluginVersionTable

Get schema for a given table and plugin version. This only applies to source plugins.

path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

version_name
required
string (PlatformVersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-...

The version in semantic version format.

table_name
required
string

Responses

Response samples

Content type
application/json
{
  • "columns": [
    ],
  • "description": "string",
  • "is_incremental": true,
  • "name": "string",
  • "parent": "string",
  • "relations": [
    ],
  • "title": "string",
  • "is_paid": true,
  • "permissions_needed": [
    ]
}

PlatformDownloadPluginAssetByTeam

Download an asset for a given plugin version as the current team.

Authorizations:
bearerAuthcookieAuth
path Parameters
team_name
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_team
required
string (PlatformTeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: cloudquery

The unique name for the team.

plugin_kind
required
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: source

The kind of plugin, ie. source or destination.

plugin_name
required
string (PlatformPluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$
Example: aws-source

The unique name for the plugin.

version_name
required
string (PlatformVersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-...

The version in semantic version format.

target_name
required
string
header Parameters
Accept
string

Responses

Response samples

Content type
application/json
{}

policies

PlatformListPolicies

List all policies for a team

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

status
string (PlatformPolicyStatus)
Enum: "paused" "active"

Policy status

severities
Array of strings (PlatformPolicySeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by severities (policy matches any)

domain
string (PlatformPolicyDomain)
Enum: "finops" "security" "compliance" "governance" "operations"

Filter by domain

policy_group_ids
Array of strings <uuid> (Policy Group ID) [ items <uuid > ]

Filter by policy groups (policy matches any)

search
string

Search in policy name and description

sort_by
string
Default: "created_at"
Enum: "name" "domain" "severity" "violation_count" "last_run_at" "created_at"

Field to sort by

sort_dir
string
Default: "desc"
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreatePolicy

Create a new policy

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string
domain
required
string (PlatformPolicyDomain)
Enum: "finops" "security" "compliance" "governance" "operations"

Policy domain

severity
required
string (PlatformPolicySeverity)
Enum: "low" "medium" "high" "critical"

Policy severity

description
string
Default: ""
query
required
string
notification_destination_ids
Array of strings or null <uuid> [ items <uuid > ]

Notification destination IDs to send alerts to

policy_group_ids
Array of strings or null <uuid> [ items <uuid > ]

Policy group IDs to add this policy to

Responses

Request samples

Content type
application/json
{
  • "name": "Unencrypted S3 buckets",
  • "domain": "finops",
  • "severity": "low",
  • "description": "Policy to detect unencrypted S3 buckets",
  • "query": "SELECT account_id, bucket_name, region FROM aws_s3_buckets WHERE encryption_status IS NULL",
  • "notification_destination_ids": [
    ],
  • "policy_group_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Unencrypted S3 buckets",
  • "domain": "finops",
  • "severity": "low",
  • "description": "Policy to detect unencrypted S3 buckets",
  • "status": "paused",
  • "team_name": "my-team",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "query": "SELECT * FROM aws_s3_buckets WHERE server_side_encryption_configuration IS NULL",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "violation_count": 5,
  • "run_at": "2017-07-14T16:53:42Z",
  • "notification_destinations": [ ],
  • "policy_groups": [ ]
}

PlatformGetPolicy

Get a policy by ID

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_id
required
string <uuid> (PlatformPolicyID)

The unique ID for the policy.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Unencrypted S3 buckets",
  • "domain": "finops",
  • "severity": "low",
  • "description": "Policy to detect unencrypted S3 buckets",
  • "status": "paused",
  • "team_name": "my-team",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "query": "SELECT * FROM aws_s3_buckets WHERE server_side_encryption_configuration IS NULL",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "violation_count": 5,
  • "run_at": "2017-07-14T16:53:42Z",
  • "notification_destinations": [ ],
  • "policy_groups": [ ]
}

PlatformUpdatePolicy

Update a policy

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_id
required
string <uuid> (PlatformPolicyID)

The unique ID for the policy.

Request Body schema: application/json
name
string
domain
string (PlatformPolicyDomain)
Enum: "finops" "security" "compliance" "governance" "operations"

Policy domain

severity
string (PlatformPolicySeverity)
Enum: "low" "medium" "high" "critical"

Policy severity

description
string
query
string
notification_destination_ids
Array of strings or null <uuid> [ items <uuid > ]

Notification destination IDs to send alerts to

policy_group_ids
Array of strings or null <uuid> [ items <uuid > ]

Policy group IDs to set for this policy

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "domain": "finops",
  • "severity": "low",
  • "description": "string",
  • "query": "SELECT account_id, bucket_name, region FROM aws_s3_buckets WHERE encryption_status IS NULL",
  • "notification_destination_ids": [
    ],
  • "policy_group_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Unencrypted S3 buckets",
  • "domain": "finops",
  • "severity": "low",
  • "description": "Policy to detect unencrypted S3 buckets",
  • "status": "paused",
  • "team_name": "my-team",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "query": "SELECT * FROM aws_s3_buckets WHERE server_side_encryption_configuration IS NULL",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "violation_count": 5,
  • "run_at": "2017-07-14T16:53:42Z",
  • "notification_destinations": [ ],
  • "policy_groups": [ ]
}

PlatformDeletePolicy

Delete a policy

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_id
required
string <uuid> (PlatformPolicyID)

The unique ID for the policy.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformTogglePolicy

Toggle a policy's status (active/paused)

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_id
required
string <uuid> (PlatformPolicyID)

The unique ID for the policy.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Unencrypted S3 buckets",
  • "domain": "finops",
  • "severity": "low",
  • "description": "Policy to detect unencrypted S3 buckets",
  • "status": "paused",
  • "team_name": "my-team",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "query": "SELECT * FROM aws_s3_buckets WHERE server_side_encryption_configuration IS NULL",
  • "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4",
  • "updated_by": "deea00dc-b6b6-4412-a483-26ac61e1f6fe",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "violation_count": 5,
  • "run_at": "2017-07-14T16:53:42Z",
  • "notification_destinations": [ ],
  • "policy_groups": [ ]
}

PlatformGetPolicyViolations

Get violations for a policy

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_id
required
string <uuid> (PlatformPolicyID)

The unique ID for the policy.

query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

search
string

Text search term to filter violations by resource_type_label, name, account_name, cloud, or region

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetPolicyViolationsHistory

Get violation history for a policy

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_id
required
string <uuid> (PlatformPolicyID)

The unique ID for the policy.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

start_time
string <date-time>
end_time
string <date-time>

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetPolicyMetrics

Get policy metrics summary

Authorizations:
bearerAuthcookieAuth
query Parameters
severities
Array of strings (PlatformPolicySeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by severities (policy matches any)

domain
string (PlatformPolicyDomain)
Enum: "finops" "security" "compliance" "governance" "operations"

Filter by domain

policy_group_ids
Array of strings <uuid> (Policy Group ID) [ items <uuid > ]

Filter by policy groups (policy matches any)

Responses

Response samples

Content type
application/json
{
  • "total_active_violations": 28,
  • "high_severity_violations": 10,
  • "violations_this_week": 7
}

PlatformGetViolationsByDomain

Get violations grouped by domain

Authorizations:
bearerAuthcookieAuth
query Parameters
severities
Array of strings (PlatformPolicySeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by severities (policy matches any)

domain
string (PlatformPolicyDomain)
Enum: "finops" "security" "compliance" "governance" "operations"

Filter by domain

policy_group_ids
Array of strings <uuid> (Policy Group ID) [ items <uuid > ]

Filter by policy groups (policy matches any)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total_violations": 28
}

PlatformGetViolationsHistory

Get violations history over time

Authorizations:
bearerAuthcookieAuth
query Parameters
start_date
string <date>

Start date for the query range (YYYY-MM-DD)

end_date
string <date>

End date for the query range (YYYY-MM-DD)

severities
Array of strings (PlatformPolicySeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by severities (policy matches any)

domain
string (PlatformPolicyDomain)
Enum: "finops" "security" "compliance" "governance" "operations"

Filter by domain

policy_group_ids
Array of strings <uuid> (Policy Group ID) [ items <uuid > ]

Filter by policy groups (policy matches any)

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformListPolicyGroups

List all policy groups

Authorizations:
bearerAuthcookieAuth
query Parameters
search
string

Search in policy group name and description

severities
Array of strings (PlatformPolicySeverity)
Items Enum: "low" "medium" "high" "critical"

Filter to policy groups that contain at least one policy with any of these severities

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

PlatformCreatePolicyGroup

Create a new policy group

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string
description
string
Default: ""
policy_ids
Array of strings or null <uuid> [ items <uuid > ]

Optional array of policy IDs to add to this group

Responses

Request samples

Content type
application/json
{
  • "name": "Security Policies",
  • "description": "Group containing all security-related policies",
  • "policy_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Security Policies",
  • "description": "Group containing all security-related policies",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z"
}

PlatformListPoliciesInGroup

List policies in a policy group

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_group_id
required
string <uuid> (Policy Group ID)
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
string
Default: "name"
Enum: "name" "policy_count"

Field to sort by

sort_dir
string
Default: "asc"
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformUpdatePolicyGroup

Update a policy group

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_group_id
required
string <uuid> (Policy Group ID)
Request Body schema: application/json
name
string
description
string
policy_ids
Array of strings or null <uuid> [ items <uuid > ]

Policy IDs to set for this group

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "policy_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Security Policies",
  • "description": "Group containing all security-related policies",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z"
}

PlatformDeletePolicyGroup

Delete a policy group

Authorizations:
bearerAuthcookieAuth
path Parameters
policy_group_id
required
string <uuid> (Policy Group ID)

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

queries

PlatformListAllQueries

List all queries

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

tag
Array of strings (PlatformQueryTag)

Query tags

name_filter
string

Filter by query name.

query_filter
string

Filter by query

alert_configured
boolean

Alert configured

alert_message_filter
string

Filter by alert message.

alert_enabled
boolean

Alert enabled

column_filter
Array of strings

Filter queries that return all specified columns

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformExecuteAdHocQuery

Run an ad-hoc SQL query against any table. Further filtering can optionally be applied on top of the raw SQL results using the optional parameters. Filtering can be useful in situations where a saved query needs to be further filtered, grouped or paginated, such as in dashboards or reports.

Authorizations:
bearerAuthcookieAuth
query Parameters
select
Array of strings (TableSelect)

Table selects. This filters the columns that are returned in the result set. If empty, all default columns + internal cq* columns are returned. To select all columns, use the * wildcard.

filter_mode
string
Default: "smart"
Enum: "smart" "search" "column"

Table filter mode.

Smart mode switches between column and search mode based on the filtered table and

Search mode allows searching deeply nested data but is not available on all tables as it requires a separate indexing step. Search mode is only available on resource tables or queries derived from resource tables results that contain _cq_id and _cq_source_id. Search mode may also be used against cloud_assets but it will only return results from resource tables.

Column mode searches purely using the columns in the table. It will work on all table results but it is not optimized for arbitrary substring searches and so may be slow on larger tables.

filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

filter_id
Array of strings <uuid> (PlatformFilterID) [ items <uuid > ]

Table filter IDs. These should be valid Saved Filter IDs. These filters will be applied to the query results before returning them.

sort_by
Array of strings (TableSortBy)

Table sort by options. This sorts the rows that are returned in the result set.

sort_dir
Array of strings (TableSortDirection)
Items Enum: "asc" "desc"

Table sort direction options. This sorts the rows that are returned in the result set.

group_by
Array of strings (TableGroupBy)

Table group by options. This groups the rows that are returned in the result set by the given columns.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Request Body schema: application/json
required
query
required
string

Responses

Request samples

Content type
application/json
{
  • "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'"
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "metadata": {
    }
}

PlatformSaveQuery

Save a query to execute later

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string
query
required
string
public
boolean
Default: true
tags
Array of strings (PlatformQueryTag)
description
string
view_name
string (PlatformQueryViewName) ^(saved_query_view_[a-zA-Z0-9_]+|)$

The name of the view the query is saved to in the warehouse

object (PlatformAlertCreate)

Create an alert

Responses

Request samples

Content type
application/json
{
  • "name": "Find all t2.micro EC2 instances",
  • "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
  • "public": true,
  • "tags": [
    ],
  • "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "view_name": "string",
  • "alert": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Find all t2.micro EC2 instances",
  • "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
  • "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "columns": [
    ],
  • "created_at": "2017-07-14T16:53:42Z",
  • "alert_configured": true,
  • "alert": {
    },
  • "view_name": "string"
}

PlatformListQueryTags

List Query Tags

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetSavedQuery

Get a saved query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Find all t2.micro EC2 instances",
  • "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
  • "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "columns": [
    ],
  • "created_at": "2017-07-14T16:53:42Z",
  • "alert_configured": true,
  • "alert": {
    },
  • "view_name": "string"
}

PlatformUpdateQuery

Update a saved query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

Request Body schema: application/json
name
string
query
string
public
boolean
tags
Array of strings (PlatformQueryTag)
description
string
view_name
string (PlatformQueryViewName) ^(saved_query_view_[a-zA-Z0-9_]+|)$

The name of the view the query is saved to in the warehouse

object (PlatformAlertUpdate)

Alert Update Definition

Responses

Request samples

Content type
application/json
{
  • "name": "Find all t2.micro EC2 instances",
  • "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instances WHERE instance_type = 't2.micro'",
  • "public": true,
  • "tags": [
    ],
  • "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instances raw table",
  • "view_name": "string",
  • "alert": {
    }
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "Find all t2.micro EC2 instances",
  • "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
  • "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "columns": [
    ],
  • "created_at": "2017-07-14T16:53:42Z",
  • "alert_configured": true,
  • "alert": {
    },
  • "view_name": "string"
}

PlatformDeleteSavedQuery

Delete a saved query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformExecuteSavedQuery

Execute a saved query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

query Parameters
select
Array of strings (TableSelect)

Table selects. This filters the columns that are returned in the result set. If empty, all default columns + internal cq* columns are returned. To select all columns, use the * wildcard.

filter_mode
string
Default: "smart"
Enum: "smart" "search" "column"

Table filter mode.

Smart mode switches between column and search mode based on the filtered table and

Search mode allows searching deeply nested data but is not available on all tables as it requires a separate indexing step. Search mode is only available on resource tables or queries derived from resource tables results that contain _cq_id and _cq_source_id. Search mode may also be used against cloud_assets but it will only return results from resource tables.

Column mode searches purely using the columns in the table. It will work on all table results but it is not optimized for arbitrary substring searches and so may be slow on larger tables.

filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

filter_id
Array of strings <uuid> (PlatformFilterID) [ items <uuid > ]

Table filter IDs. These should be valid Saved Filter IDs. These filters will be applied to the query results before returning them.

sort_by
Array of strings (TableSortBy)

Table sort by options. This sorts the rows that are returned in the result set.

sort_dir
Array of strings (TableSortDirection)
Items Enum: "asc" "desc"

Table sort direction options. This sorts the rows that are returned in the result set.

group_by
Array of strings (TableGroupBy)

Table group by options. This groups the rows that are returned in the result set by the given columns.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "metadata": {
    }
}

PlatformQueryListFilters

List Query Filters

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

tag
Array of strings (PlatformFilterTag)

Filter tags

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformQuerySaveFilter

Save Query Filter

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

Request Body schema: application/json
required
name
required
string
expression
required
string (PlatformFilterExpression)

A table column filter.

public
boolean
Default: true

Whether the filter is visible to all users, or only to the user who created it

tags
Array of strings (PlatformFilterTag)
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "public": true,
  • "tags": [
    ],
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "table": "cloud_assets",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "created_at": "2017-07-14T16:53:42Z"
}

PlatformQueryListFilterTags

List Filter Tags For A Saved Query

Authorizations:
bearerAuthcookieAuth
path Parameters
query_id
required
string <uuid> (PlatformQueryID)

The unique ID for the query.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTableListFilterTags

List Filter Tags For A Table

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

insights

PlatformListPlatformInsights

List insights with optional filtering

Authorizations:
bearerAuthcookieAuth
query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

search
string

Search in title, evidence (description), mitigation, or related fields

severities
Array of strings (PlatformInsightSeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by severities (any match)

cloud
string

Filter by cloud

account
string

Filter by account

region
string

Filter by region

insight_category
string

Filter by insight category

source_category
string

Filter by source category

source
string

Filter by source

resource_types
Array of strings

Filter by resource types

tags
Array of strings

Filter by tags (any match)

sort_by
string
Default: "detected_at"
Enum: "title" "severity" "insight_category" "source_category" "account" "source" "resources_count" "accounts_count" "created_at" "detected_at"

Field to sort by

sort_dir
string
Default: "desc"
Enum: "asc" "desc"

Sort direction

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetPlatformInsightColumnDistinctValues

Get the candidate values for the next filter dimension (column_name), given the current active filters. The supplied filter parameters represent where the user currently is in the filter matrix; only values for column_name that would yield at least one insight when added to that current position are returned. Values that would produce zero results are omitted, preventing the user from navigating to an empty state. The filter parameter corresponding to column_name is always ignored when computing candidates — asking "which severities exist where severity=X" is self-referential and nonsensical. For example, if column_name=severity then any severities filter in the request is not applied; if column_name=source then any source filter is not applied; and so on. This ensures the full set of viable values for that dimension is always returned given the other active filters.

Authorizations:
bearerAuthcookieAuth
path Parameters
column_name
required
string
Enum: "severity" "insight-category" "source-category" "source" "resource-type" "account" "tag"

Column for distinct values

query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

search
string

Search in title, evidence (description), mitigation, or related fields

severities
Array of strings (PlatformInsightSeverity)
Items Enum: "low" "medium" "high" "critical"

Filter by severities (any match)

cloud
string

Filter by cloud

account
string

Filter by account

region
string

Filter by region

insight_category
string

Filter by insight category

source_category
string

Filter by source category

source
string

Filter by source

resource_types
Array of strings

Filter by resource types

tags
Array of strings

Filter by tags (any match)

Responses

Response samples

Content type
application/json
{
  • "values": [
    ]
}

PlatformGetPlatformInsight

Get insight by ID

Authorizations:
bearerAuthcookieAuth
path Parameters
insight_id
required
string (PlatformInsightID)

Unique identifier for the insight

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "evidence": "string",
  • "mitigation": "string",
  • "severity": "low",
  • "insight_category": "string",
  • "source": "string",
  • "source_category": "string",
  • "subcategory": "string",
  • "resource_types": "string",
  • "resources_count": 0,
  • "accounts_count": 0,
  • "tags": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "detected_at": "2019-08-24T14:15:22Z"
}

PlatformGetPlatformInsightAssets

List assets affected by an insight

Authorizations:
bearerAuthcookieAuth
path Parameters
insight_id
required
string (PlatformInsightID)

Unique identifier for the insight

query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

search
string

Search in asset name, account, region, etc.

accounts
Array of strings

Filter by account IDs

clouds
Array of strings

Filter by cloud providers (e.g. aws, azure, gcp, github, backstage, digitalocean, wiz)

regions
Array of strings

Filter by regions

resource_type
Array of strings

Filter by resource type

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetPlatformAssetInsights

List insights for a specific asset (by _cq_platform_id)

Authorizations:
bearerAuthcookieAuth
path Parameters
asset_id
required
string (PlatformTableRowID)
Example: table_12345678-1234-1234-1234-1234567890ab

ID of the Resource

query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

search
string

Search in asset name, account, region, etc.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

reports

PlatformListReports

List reports

Authorizations:
bearerAuthcookieAuth
query Parameters
search_term
string

Filter reports by title or description.

visibility
string
Enum: "private" "public"
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (ReportSortBy)
Items Enum: "id" "title" "description" "private" "created_at" "updated_at"

Sort by options

sort_dir
Array of strings (ReportTemplateSortDirection)
Items Enum: "asc" "desc"

Report sort direction options

Responses

Response samples

Content type
application/json
{
  • "reports": [
    ],
  • "metadata": {
    }
}

PlatformCreateReport

Create Report

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
title
required
string
description
string
content
required
string

YAML body

private
boolean
template_id
string <uuid>

Template ID, if report is being created from a template

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "content": "string",
  • "private": true,
  • "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

PlatformGetReport

Get Report

Authorizations:
bearerAuthcookieAuth
path Parameters
report_id
required
string <uuid>

ID of the report.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

PlatformUpdateReport

Update Report

Authorizations:
bearerAuthcookieAuth
path Parameters
report_id
required
string <uuid>

ID of the report.

Request Body schema: application/json
required
title
string
description
string
content
string

YAML body

private
boolean
template_id
string <uuid>

Template ID, if report is being created from a template

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "content": "string",
  • "private": true,
  • "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

PlatformDeleteReport

Delete Report

Authorizations:
bearerAuthcookieAuth
path Parameters
report_id
required
string <uuid>

ID of the report.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformListReportTemplates

List report templates

Authorizations:
bearerAuthcookieAuth
query Parameters
search_term
string

Filter report templates by name.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (ReportTemplateSortBy)
Items Enum: "id" "title" "description" "visible" "created_at" "updated_at"

Sort by options

sort_dir
Array of strings (ReportTemplateSortDirection)
Items Enum: "asc" "desc"

Report template sort direction options

Responses

Response samples

Content type
application/json
{
  • "templates": [
    ],
  • "metadata": {
    }
}

PlatformCreateReportTemplate

Create Report Template

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
title
string
description
string
content
string

YAML body

visible
boolean

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "content": "string",
  • "visible": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

PlatformGetReportTemplate

Get Report Template

Authorizations:
bearerAuthcookieAuth
path Parameters
template_id
required
string <uuid>

ID of the report template.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

PlatformUpdateReportTemplate

Update Report Template

Authorizations:
bearerAuthcookieAuth
path Parameters
template_id
required
string <uuid>

ID of the report template.

Request Body schema: application/json
required
title
string
description
string
content
string

YAML body

visible
boolean

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "content": "string",
  • "visible": true
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

PlatformDeleteReportTemplate

Delete Report Template

Authorizations:
bearerAuthcookieAuth
path Parameters
template_id
required
string <uuid>

ID of the report template.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

syncs

PlatformCreateSyncDestinationTestConnection

Create a test destination connection.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
path
required
string (PlatformSyncPluginPath) ^cloudquery/[^/]+

Plugin path in CloudQuery registry

destination_name
string

Name of an existing destination

version
required
string

Version of the plugin

write_mode
string (PlatformSyncDestinationWriteMode)
Enum: "append" "overwrite" "overwrite-delete-stale"

Write mode for the destination

migrate_mode
string (PlatformSyncDestinationMigrateMode)
Enum: "safe" "forced"

Migrate mode for the destination

sync_group_id
string
object <Plugin parameters, specific to each plugin>
Array of objects (PlatformSyncEnvCreate)

Environment variables for the plugin. All environment variables will be stored as secrets.

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "destination_name": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "spec": { },
  • "env": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string",
  • "sync_group_id": "string"
}

PlatformGetSyncDestinationTestConnection

Get a sync destination test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_test_connection_id
required
string <uuid> (PlatformSyncDestinationTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Destination Test Connection

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string",
  • "sync_group_id": "string"
}

PlatformUpdateSyncTestConnectionForSyncDestination

Update a sync destination test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_test_connection_id
required
string <uuid> (PlatformSyncDestinationTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Destination Test Connection

Request Body schema: application/json
status
required
string (PlatformSyncTestConnectionStatus)
Enum: "completed" "failed" "started" "created"

The status of the sync run

failure_reason
string

Reason for failure

failure_code
string

Code for failure

Responses

Request samples

Content type
application/json
{
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string",
  • "sync_group_id": "string"
}

PlatformGetSyncDestinationTestConnectionLogsQuery

Get logs for a sync destination test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_test_connection_id
required
string <uuid> (PlatformSyncDestinationTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Destination Test Connection

query Parameters
filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

download
boolean

Whether to generate a downloadable file for the response.

header Parameters
Accept
string

Responses

Response samples

Content type
{
  • "data": {
    },
  • "metadata": {
    }
}

PlatformGetSyncDestinationTestConnectionLogsLive

Get live logs for a sync destination test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_test_connection_id
required
string <uuid> (PlatformSyncDestinationTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Destination Test Connection

header Parameters
Accept
string

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformPromoteSyncDestinationTestConnection

Promote a sync destination test connection to a sync destination.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_test_connection_id
required
string <uuid> (PlatformSyncDestinationTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Destination Test Connection

Request Body schema: application/json
required
name
required
string^[a-zA-Z0-9_-]+$

Descriptive, unique name for the destination

display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

write_mode
string (PlatformSyncDestinationWriteMode)
Enum: "append" "overwrite" "overwrite-delete-stale"

Write mode for the destination

migrate_mode
string (PlatformSyncDestinationMigrateMode)
Enum: "safe" "forced"

Migrate mode for the destination

send_sync_summary
boolean
overwrite_destination
boolean

Set this to allow overwriting an existing sync destination. Defaults to true to preserve compatibility.

Responses

Request samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "send_sync_summary": true,
  • "overwrite_destination": true
}

Response samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "send_sync_summary": true,
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "transformers": [
    ],
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformListSyncDestinations

List all sync destination definitions.

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

sort_by
Array of strings (SyncGenericSortBy)
Items Enum: "name" "display_name" "path" "version" "created_at" "updated_at" "draft"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetSyncDestination

Get a single sync destination definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

Responses

Response samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "send_sync_summary": true,
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "transformers": [
    ],
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformUpdateSyncDestination

Update a Sync Destination definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

Request Body schema: application/json
required
display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

write_mode
string (PlatformSyncDestinationWriteModeUpdate)
Enum: "append" "overwrite" "overwrite-delete-stale"

Write mode for the destination, for updating

migrate_mode
string (PlatformSyncDestinationMigrateModeUpdate)
Enum: "safe" "forced"

Migrate mode for the destination, for updating

send_sync_summary
boolean
last_update_source
string (PlatformSyncLastUpdateSource)
Enum: "yaml" "ui"

How was the source or destination been created or updated last

transformers
Array of strings[ items^[a-zA-Z0-9_-]+$ ]

Responses

Request samples

Content type
application/json
{
  • "display_name": "Human Readable Name",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "send_sync_summary": true,
  • "last_update_source": "yaml",
  • "transformers": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "send_sync_summary": true,
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "transformers": [
    ],
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformDeleteSyncDestination

Delete a Sync Destination definition. Any syncs relying on this destination must be deleted first.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformListSyncDestinationSyncs

List all Syncs for a given sync destination.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (SyncSortBy)
Items Enum: "cpu" "created_at" "created_by" "destinations" "disabled" "display_name" "memory" "name" "schedule" "source" "updated_at" "last_run_created_at" "last_run_updated_at" "last_run_completed_at" "last_run_errors" "last_run_warnings" "last_run_total_rows" "last_run_status" "last_run_migration"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

migration_filter
boolean

Filter by migration

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetTestConnectionForSyncDestination

Get test connection details for sync destination.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

sync_test_connection_id
required
string <uuid> (PlatformSyncTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

unique ID of the test connection

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string",
  • "plugin_kind": "source"
}

PlatformCreateSyncSourceTestConnection

Create a test source connection.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
path
required
string (PlatformSyncPluginPath) ^cloudquery/[^/]+

Plugin path in CloudQuery registry

source_name
string

Name of an existing source

version
required
string

Version of the plugin

object <Plugin parameters, specific to each plugin>
Array of objects (PlatformSyncEnvCreate)

Environment variables for the plugin. All environment variables will be stored as secrets.

onboarding_id
string <uuid> (PlatformOnboardingID)

ID of the onboarding that will be used to authenticate the source.

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "source_name": "string",
  • "version": "v1.2.3",
  • "spec": { },
  • "env": [
    ],
  • "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string"
}

PlatformGetSyncSourceTestConnection

Get a sync source test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_test_connection_id
required
string <uuid> (PlatformSyncSourceTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Source Test Connection

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string"
}

PlatformUpdateSyncTestConnectionForSyncSource

Update a sync source test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_test_connection_id
required
string <uuid> (PlatformSyncSourceTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Source Test Connection

Request Body schema: application/json
status
required
string (PlatformSyncTestConnectionStatus)
Enum: "completed" "failed" "started" "created"

The status of the sync run

failure_reason
string

Reason for failure

failure_code
string

Code for failure

Responses

Request samples

Content type
application/json
{
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string"
}

PlatformGetSyncSourceTestConnectionLogsQuery

Get logs for a sync source test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_test_connection_id
required
string <uuid> (PlatformSyncSourceTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Source Test Connection

query Parameters
filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

download
boolean

Whether to generate a downloadable file for the response.

header Parameters
Accept
string

Responses

Response samples

Content type
{
  • "data": {
    },
  • "metadata": {
    }
}

PlatformGetSyncSourceTestConnectionLogsLive

Get live logs for a sync source test connection.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_test_connection_id
required
string <uuid> (PlatformSyncSourceTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Source Test Connection

header Parameters
Accept
string

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformPromoteSyncSourceTestConnection

Promote a sync source test connection to a sync source.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_test_connection_id
required
string <uuid> (PlatformSyncSourceTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the Sync Source Test Connection

Request Body schema: application/json
required
name
required
string^[a-zA-Z0-9_-]+$

Descriptive, unique name for the source

display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

tables
required
Array of strings

Tables to sync. Wildcards are supported. Note that child tables are excluded by default, and need to be explicitly specified.

skip_tables
Array of strings

Tables matched by tables that should be skipped. Wildcards are supported.

overwrite_source
boolean

Set this to allow overwriting an existing sync source. Defaults to true to preserve compatibility.

destination_names
Array of strings (PlatformSyncDestinationName) >= 0 items [ items^[a-zA-Z0-9_-]+$ ]
Default: ["cloudquery"]

List of sync destination names associated with this source

Responses

Request samples

Content type
application/json
{
  • "name": "my-source-definition",
  • "display_name": "Human Readable Name",
  • "tables": [
    ],
  • "skip_tables": [
    ],
  • "overwrite_source": true,
  • "destination_names": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "my-source-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "tables": [
    ],
  • "skip_tables": [
    ],
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "onboarding_id": "12345678-1234-1234-1234-1234567890ab",
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformCreateV2SyncIntegrationTestConnection

Create an integration test connection.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
path
required
string (PlatformSyncPluginPath) ^cloudquery/[^/]+

Plugin path in CloudQuery registry

source_name
string

Name of an existing source

version
required
string

Version of the plugin

object <Plugin parameters, specific to each plugin>
Array of objects (PlatformSyncEnvCreate)

Environment variables for the plugin. All environment variables will be stored as secrets.

onboarding_id
string <uuid> (PlatformOnboardingID)

ID of the onboarding that will be used to authenticate the source.

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "source_name": "string",
  • "version": "v1.2.3",
  • "spec": { },
  • "env": [
    ],
  • "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string"
}

PlatformListV2SyncIntegrations

List sync integrations

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (SyncSortBy)
Items Enum: "cpu" "created_at" "created_by" "destinations" "disabled" "display_name" "memory" "name" "schedule" "source" "updated_at" "last_run_created_at" "last_run_updated_at" "last_run_completed_at" "last_run_errors" "last_run_warnings" "last_run_total_rows" "last_run_status" "last_run_migration"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreateV2SyncIntegration

Create a new integration associated with a completed test connection

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string^[a-zA-Z0-9_-]+$

Descriptive, unique name for the integration

display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

required
object (PlatformSyncIntegrationSourceCreateV2)

Integration Source Definition

schedule
string

Cron schedule for the integration

disabled
boolean
Default: false

Whether the integration is disabled

destination_names
required
Array of strings (PlatformSyncDestinationName) >= 0 items [ items^[a-zA-Z0-9_-]+$ ]
Default: ["cloudquery"]

List of sync destination names associated with this integration

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": {
    },
  • "schedule": "string",
  • "disabled": false,
  • "destination_names": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": {
    },
  • "plugin": {},
  • "destinations": [
    ],
  • "schedule": "string",
  • "disabled": false,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "created_by": "string"
}

PlatformGetV2SyncIntegration

Get a sync integration by name

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": {
    },
  • "plugin": {},
  • "destinations": [
    ],
  • "schedule": "string",
  • "disabled": false,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "created_by": "string",
  • "last_run": {
    }
}

PlatformUpdateV2SyncIntegration

Update attributes of an integration

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

Request Body schema: application/json
required
display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

object (PlatformSyncIntegrationSourceUpdateV2)

Integration Definition

schedule
string

Cron schedule for the integration

disabled
boolean

Whether the integration is disabled

destination_names
Array of strings (PlatformSyncDestinationName) [ items^[a-zA-Z0-9_-]+$ ]

List of sync destinations associated with this integration

Responses

Request samples

Content type
application/json
{
  • "display_name": "Human Readable Name",
  • "source": {
    },
  • "schedule": "string",
  • "disabled": true,
  • "destination_names": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": {
    },
  • "plugin": {},
  • "destinations": [
    ],
  • "schedule": "string",
  • "disabled": false,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "created_by": "string"
}

PlatformDeleteV2SyncIntegration

Delete an integration

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

query Parameters
delete_data
boolean
Default: false

If true, also delete data associated with this integration from the relevant destinations.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformListSyncSources

List all sync source definitions.

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

sort_by
Array of strings (SyncGenericSortBy)
Items Enum: "name" "display_name" "path" "version" "created_at" "updated_at" "draft"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetSyncSource

Get a single sync source definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync source

Responses

Response samples

Content type
application/json
{
  • "name": "my-source-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "tables": [
    ],
  • "skip_tables": [
    ],
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "onboarding_id": "12345678-1234-1234-1234-1234567890ab",
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformUpdateSyncSource

Update a Sync Source definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync source

Request Body schema: application/json
required
display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

tables
Array of strings

Tables to sync. Wildcards are supported. Note that child tables are excluded by default, and need to be explicitly specified.

skip_tables
Array of strings

Tables matched by tables that should be skipped. Wildcards are supported.

last_update_source
string (PlatformSyncLastUpdateSource)
Enum: "yaml" "ui"

How was the source or destination been created or updated last

destination_names
Array of strings (PlatformSyncDestinationName) >= 0 items [ items^[a-zA-Z0-9_-]+$ ]
Default: ["cloudquery"]

List of sync destination names associated with this source

Responses

Request samples

Content type
application/json
{
  • "display_name": "Human Readable Name",
  • "tables": [
    ],
  • "skip_tables": [
    ],
  • "last_update_source": "yaml",
  • "destination_names": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "my-source-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "tables": [
    ],
  • "skip_tables": [
    ],
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "onboarding_id": "12345678-1234-1234-1234-1234567890ab",
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformDeleteSyncSource

Delete a Sync Source definition. Any syncs relying on this source must be deleted first.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync source

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformListSyncSourceSyncs

List all Syncs for a given sync source.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync source

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (SyncSortBy)
Items Enum: "cpu" "created_at" "created_by" "destinations" "disabled" "display_name" "memory" "name" "schedule" "source" "updated_at" "last_run_created_at" "last_run_updated_at" "last_run_completed_at" "last_run_errors" "last_run_warnings" "last_run_total_rows" "last_run_status" "last_run_migration"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

migration_filter
boolean

Filter by migration

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetTestConnectionForSyncSource

Get test connection details for sync source.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_source_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync source

sync_test_connection_id
required
string <uuid> (PlatformSyncTestConnectionID)
Example: 12345678-1234-1234-1234-1234567890ab

unique ID of the test connection

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string",
  • "plugin_kind": "source"
}

PlatformListSyncTransformers

List all sync transformer definitions.

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

sort_by
Array of strings (SyncGenericSortBy)
Items Enum: "name" "display_name" "path" "version" "created_at" "updated_at" "draft"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetSyncTransformer

Get a single sync transformer definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_transformer_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync transformer

Responses

Response samples

Content type
application/json
{
  • "name": "my-transformer-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true
}

PlatformUpdateSyncTransformer

Update a Sync Transformer definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_transformer_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync transformer

Request Body schema: application/json
required
display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

last_update_source
string (PlatformSyncLastUpdateSource)
Enum: "yaml" "ui"

How was the source or destination been created or updated last

Responses

Request samples

Content type
application/json
{
  • "display_name": "Human Readable Name",
  • "last_update_source": "yaml"
}

Response samples

Content type
application/json
{
  • "name": "my-transformer-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true
}

PlatformDeleteSyncTransformer

Delete a Sync Transformer definition. Any syncs relying on this transformer must be deleted first.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_transformer_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync transformer

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformListSyncTransformerSyncs

List all Syncs for a given sync transformer.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_transformer_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync transformer

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformListSyncTransformerSyncDestinations

List all Sync Destinations for a given sync transformer.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_transformer_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync transformer

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformListSyncUpgrades

List all version upgrades for syncs

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings
Items Enum: "kind" "path" "prev_version" "new_version" "created_at"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

path
string (PlatformSyncPluginPath) ^cloudquery/[^/]+
Example: path=cloudquery/aws

Filter by plugin path

kind
string (PlatformPluginKind)
Enum: "source" "destination" "transformer"
Example: kind=source

Filter by plugin kind

platform_version
string
Example: platform_version=v1.1.0

Filter by platform version

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformListSyncs

List all Syncs.

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (SyncSortBy)
Items Enum: "cpu" "created_at" "created_by" "destinations" "disabled" "display_name" "memory" "name" "schedule" "source" "updated_at" "last_run_created_at" "last_run_updated_at" "last_run_completed_at" "last_run_errors" "last_run_warnings" "last_run_total_rows" "last_run_status" "last_run_migration"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

migration_filter
boolean

Filter by migration

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreateSync

Create new Sync definition. Sync runs can be scheduled automatically, or triggered manually after sync is created.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string^[a-zA-Z0-9_-]+$

Descriptive, unique name for the sync

display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

source
required
string^[a-zA-Z0-9_-]+$

Unique name of the source

destinations
required
Array of strings non-empty [ items^[a-zA-Z0-9_-]+$ ]
schedule
string

Cron schedule for the sync

disabled
boolean
Default: false

Whether the sync is disabled

cpu
string
Default: "1"

CPU quota for the sync

memory
string
Default: "2Gi"

Memory quota for the sync

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": "string",
  • "destinations": [
    ],
  • "schedule": "string",
  • "disabled": false,
  • "cpu": "1",
  • "memory": "2Gi"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": "string",
  • "destinations": [
    ],
  • "disabled": true,
  • "schedule": "string",
  • "cpu": "1",
  • "memory": "2Gi",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "created_by": "string"
}

PlatformGetSync

Get a Sync

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": "string",
  • "destinations": [
    ],
  • "disabled": true,
  • "schedule": "string",
  • "cpu": "1",
  • "memory": "2Gi",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "created_by": "string"
}

PlatformUpdateSync

Update a Sync

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

Request Body schema: application/json
display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

source
string^[a-zA-Z0-9_-]+$

Unique name of the source

destinations
Array of strings non-empty [ items^[a-zA-Z0-9_-]+$ ]
schedule
string

Cron schedule for the sync

disabled
boolean
Default: false

Whether the sync is disabled

Array of objects (PlatformSyncEnv)

Environment variables for the sync

cpu
string
Default: "1"

CPU quota for the sync

memory
string
Default: "2Gi"

Memory quota for the sync

Responses

Request samples

Content type
application/json
{
  • "display_name": "Human Readable Name",
  • "source": "string",
  • "destinations": [
    ],
  • "schedule": "string",
  • "disabled": false,
  • "env": [
    ],
  • "cpu": "1",
  • "memory": "2Gi"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "display_name": "Human Readable Name",
  • "source": "string",
  • "destinations": [
    ],
  • "disabled": true,
  • "schedule": "string",
  • "cpu": "1",
  • "memory": "2Gi",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "created_by": "string"
}

PlatformDeleteSync

Delete Sync. This will delete Sync configuration and all associated sync runs, but will not delete the associated source and destination(s). These will need to be deleted separately.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformListSyncRuns

List all Sync Runs.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

query Parameters
migration_filter
boolean

Filter by migration

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreateSyncRun

Create new SyncRun. This will trigger a manual job run.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

Responses

Response samples

Content type
application/json
{
  • "sync_name": "string",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "status_reason": "error",
  • "workers": [
    ],
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "total_rows": 0,
  • "warnings": 0,
  • "errors": 0,
  • "migration": true,
  • "ingested": true
}

PlatformGetSyncRun

Get a Sync Run.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

sync_run_id
required
string <uuid> (PlatformSyncRunID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the SyncRun

Responses

Response samples

Content type
application/json
{
  • "sync_name": "string",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "status_reason": "error",
  • "workers": [
    ],
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "total_rows": 0,
  • "warnings": 0,
  • "errors": 0,
  • "migration": true,
  • "ingested": true,
  • "cpu_seconds": 0.1,
  • "memory_byte_seconds": 0.1,
  • "network_egress_bytes": 0.1
}

PlatformUpdateSyncRun

Update a SyncRun

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

sync_run_id
required
string <uuid> (PlatformSyncRunID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the SyncRun

Request Body schema: application/json
status
string (PlatformSyncRunStatus)
Enum: "completed" "failed" "started" "cancelled" "created" "pending"

The status of the sync run

status_reason
string (PlatformSyncRunStatusReason)
Enum: "error" "oom_killed" "partial_success" "ingestion_failed"

The reason for the status

Responses

Request samples

Content type
application/json
{
  • "status": "completed",
  • "status_reason": "error"
}

Response samples

Content type
application/json
{
  • "sync_name": "string",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "status_reason": "error",
  • "workers": [
    ],
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "total_rows": 0,
  • "warnings": 0,
  • "errors": 0,
  • "migration": true,
  • "ingested": true
}

PlatformGetSyncRunLogsQuery

Get logs for a sync run.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

sync_run_id
required
string <uuid> (PlatformSyncRunID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the SyncRun

query Parameters
filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

download
boolean

Whether to generate a downloadable file for the response.

header Parameters
Accept
string

Responses

Response samples

Content type
{
  • "data": {
    },
  • "metadata": {
    }
}

PlatformGetSyncRunLogsLive

Get live logs for a sync run.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

sync_run_id
required
string <uuid> (PlatformSyncRunID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the SyncRun

query Parameters
table
string

Table name to filter logs by. Use a single dash ("-") as input to exclude all table-specific log lines.

header Parameters
Accept
string

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformGetSyncRunStats

Get statistics on a Sync Run

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

sync_run_id
required
string <uuid> (PlatformSyncRunID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the SyncRun

Responses

Response samples

Content type
application/json
{
  • "completed_tables": 0,
  • "started_at": "2017-07-14T16:53:42Z",
  • "last_completed_at": "2017-07-14T16:53:42Z",
  • "resources": 0,
  • "errors": 0,
  • "panics": 0
}

PlatformGetSyncRunTables

Get table details on a Sync Run

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync

sync_run_id
required
string <uuid> (PlatformSyncRunID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the SyncRun

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (TableSortBy)
Items Enum: "name" "started_at" "completed_at" "runtime_seconds" "resources" "errors"

Sync run table sort by options. This sorts the rows that are returned in the result set.

sort_dir
Array of strings (TableSortDirection)
Items Enum: "asc" "desc"

Table sort direction options. This sorts the rows that are returned in the result set.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreateV2SyncDestinationTestConnection

Create a test destination connection.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
path
required
string (PlatformSyncPluginPath) ^cloudquery/[^/]+

Plugin path in CloudQuery registry

destination_name
string

Name of an existing destination

version
required
string

Version of the plugin

write_mode
string (PlatformSyncDestinationWriteMode)
Enum: "append" "overwrite" "overwrite-delete-stale"

Write mode for the destination

migrate_mode
string (PlatformSyncDestinationMigrateMode)
Enum: "safe" "forced"

Migrate mode for the destination

sync_group_id
string
object <Plugin parameters, specific to each plugin>
Array of objects (PlatformSyncEnvCreate)

Environment variables for the plugin. All environment variables will be stored as secrets.

Responses

Request samples

Content type
application/json
{
  • "path": "string",
  • "destination_name": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "spec": { },
  • "env": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "status": "completed",
  • "failure_reason": "password authentication failed for user \"exampleuser\"",
  • "failure_code": "INVALID_CREDENTIALS",
  • "created_at": "2017-07-14T16:53:42Z",
  • "completed_at": "2017-07-14T16:53:42Z",
  • "plugin_path": "string",
  • "plugin_version": "string",
  • "sync_group_id": "string"
}

PlatformCreateV2SyncDestination

Create sync destination based on test connection.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string^[a-zA-Z0-9_-]+$

Descriptive, unique name for the destination

display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

write_mode
string (PlatformSyncDestinationWriteMode)
Enum: "append" "overwrite" "overwrite-delete-stale"

Write mode for the destination

migrate_mode
string (PlatformSyncDestinationMigrateMode)
Enum: "safe" "forced"

Migrate mode for the destination

send_sync_summary
boolean
last_update_source
string (PlatformSyncLastUpdateSource)
Enum: "yaml" "ui"

How was the source or destination been created or updated last

overwrite_destination
boolean

Set this to allow overwriting an existing sync destination. Defaults to true to preserve compatibility.

sync_destination_test_connection_id
string <uuid> (PlatformSyncDestinationTestConnectionID)

ID of the Sync Destination Test Connection

Responses

Request samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "send_sync_summary": true,
  • "last_update_source": "yaml",
  • "overwrite_destination": true,
  • "sync_destination_test_connection_id": "12345678-1234-1234-1234-1234567890ab"
}

Response samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "send_sync_summary": true,
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "transformers": [
    ],
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2",
  • "disabled": true,
  • "last_run": {
    },
  • "plugin": {}
}

PlatformGetV2SyncDestinations

List all sync destination definitions.

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

filter
string^[a-zA-Z\p{L}\p{N}_ \-']*$

Filter by name or display name

sort_by
Array of strings (SyncGenericSortBy)
Items Enum: "name" "display_name" "path" "version" "created_at" "updated_at" "draft"

Sort by options

sort_dir
Array of strings (SyncSortDirection)
Items Enum: "asc" "desc"

Sync sort direction options

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetV2SyncDestination

Get a single sync destination definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

Responses

Response samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "send_sync_summary": true,
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "transformers": [
    ],
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2",
  • "disabled": true,
  • "last_run": {
    },
  • "plugin": {}
}

PlatformPatchV2SyncDestination

Update a Sync Destination definition.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

Request Body schema: application/json
required
display_name
string (PlatformDisplayName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}\p{N}_][a-zA-Z\p{L}\p{N}_ \-'\(\...

A human-readable display name

write_mode
string (PlatformSyncDestinationWriteModeUpdate)
Enum: "append" "overwrite" "overwrite-delete-stale"

Write mode for the destination, for updating

migrate_mode
string (PlatformSyncDestinationMigrateModeUpdate)
Enum: "safe" "forced"

Migrate mode for the destination, for updating

send_sync_summary
boolean
last_update_source
string (PlatformSyncLastUpdateSource)
Enum: "yaml" "ui"

How was the source or destination been created or updated last

disabled
boolean

Whether the sync destination is disabled

transformers
Array of strings[ items^[a-zA-Z0-9_-]+$ ]

Responses

Request samples

Content type
application/json
{
  • "display_name": "Human Readable Name",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "send_sync_summary": true,
  • "last_update_source": "yaml",
  • "disabled": true,
  • "transformers": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "my-destination-definition",
  • "display_name": "Human Readable Name",
  • "path": "string",
  • "version": "v1.2.3",
  • "write_mode": "append",
  • "migrate_mode": "safe",
  • "sync_group_id": "string",
  • "send_sync_summary": true,
  • "spec": { },
  • "env": [
    ],
  • "last_update_source": "yaml",
  • "transformers": [
    ],
  • "created_at": "2023-07-14T16:53:42Z",
  • "updated_at": "2023-07-14T16:53:42Z",
  • "draft": true,
  • "previous_version": "v1.2.2"
}

PlatformDeleteV2SyncDestination

Delete a Sync Destination definition. Any syncs relying on this destination must be deleted first.

Authorizations:
bearerAuthcookieAuth
path Parameters
sync_destination_name
required
string^[a-zA-Z0-9_-]+$

Unique name of the sync destination

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

tables

PlatformListTables

List Tables

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformGetTablesData

Get all sources and their associated tables. Returns data in the format needed for the delete action.

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "sources": [
    ],
  • "metadata": {
    }
}

PlatformTablesDataAction

Perform an action on table data across multiple sources. Supported actions: delete (drops partitions for specified tenant/source/table combinations).

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
action
required
string
Value: "delete"

The action to perform on the table data

required
object

Map of source names to arrays of table names

Responses

Request samples

Content type
application/json
{
  • "action": "delete",
  • "sources": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformTableListRows

List Table Rows

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

query Parameters
select
Array of strings (TableSelect)

Table selects. This filters the columns that are returned in the result set. If empty, all default columns + internal cq* columns are returned. To select all columns, use the * wildcard.

filter_mode
string
Default: "smart"
Enum: "smart" "search" "column"

Table filter mode.

Smart mode switches between column and search mode based on the filtered table and

Search mode allows searching deeply nested data but is not available on all tables as it requires a separate indexing step. Search mode is only available on resource tables or queries derived from resource tables results that contain _cq_id and _cq_source_id. Search mode may also be used against cloud_assets but it will only return results from resource tables.

Column mode searches purely using the columns in the table. It will work on all table results but it is not optimized for arbitrary substring searches and so may be slow on larger tables.

filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

filter_id
Array of strings <uuid> (PlatformFilterID) [ items <uuid > ]

Table filter IDs. These should be valid Saved Filter IDs. These filters will be applied to the query results before returning them.

sort_by
Array of strings (TableSortBy)

Table sort by options. This sorts the rows that are returned in the result set.

sort_dir
Array of strings (TableSortDirection)
Items Enum: "asc" "desc"

Table sort direction options. This sorts the rows that are returned in the result set.

group_by
Array of strings (TableGroupBy)

Table group by options. This groups the rows that are returned in the result set by the given columns.

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "metadata": {
    }
}

PlatformTableRowById

Get Table row

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

table_row_id
required
string (PlatformTableRowID)
Example: table_12345678-1234-1234-1234-1234567890ab

ID of the Resource

query Parameters
filter_mode
string
Default: "smart"
Enum: "smart" "search" "column"

Table filter mode.

Smart mode switches between column and search mode based on the filtered table and

Search mode allows searching deeply nested data but is not available on all tables as it requires a separate indexing step. Search mode is only available on resource tables or queries derived from resource tables results that contain _cq_id and _cq_source_id. Search mode may also be used against cloud_assets but it will only return results from resource tables.

Column mode searches purely using the columns in the table. It will work on all table results but it is not optimized for arbitrary substring searches and so may be slow on larger tables.

filter
Array of strings (PlatformFilterExpression)
Example: filter=resource_type=aws_s3_buckets

Table filters. This filters the rows that are returned in the result set.

filter_id
Array of strings <uuid> (PlatformFilterID) [ items <uuid > ]

Table filter IDs. These should be valid Saved Filter IDs. These filters will be applied to the query results before returning them.

Responses

Response samples

Content type
application/json
{
  • "data": { },
  • "matches": [
    ]
}

PlatformTableSchema

Get Table Schema

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

Responses

Response samples

Content type
application/json
{
  • "schema": [
    ],
  • "default_columns": [
    ]
}

PlatformBatchTableSchemas

Get Table Schemas

Authorizations:
bearerAuthcookieAuth
query Parameters
tables
required
Array of strings[ items non-empty ]
Example: tables=aws_ec2_instances&tables=aws_s3_buckets

A list of table names to retrieve schemas for

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

PlatformTableListColumns

Get Table Columns

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

query Parameters
filter_mode
string
Default: "smart"
Enum: "smart" "search" "column"

Table filter mode.

Smart mode switches between column and search mode based on the filtered table and

Search mode allows searching deeply nested data but is not available on all tables as it requires a separate indexing step. Search mode is only available on resource tables or queries derived from resource tables results that contain _cq_id and _cq_source_id. Search mode may also be used against cloud_assets but it will only return results from resource tables.

Column mode searches purely using the columns in the table. It will work on all table results but it is not optimized for arbitrary substring searches and so may be slow on larger tables.

filter
string

Filter by column name

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTableColumnListValues

Get Table Column Values

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

column_name
required
string

The name of a table column.

query Parameters
filter_mode
string
Default: "smart"
Enum: "smart" "search" "column"

Table filter mode.

Smart mode switches between column and search mode based on the filtered table and

Search mode allows searching deeply nested data but is not available on all tables as it requires a separate indexing step. Search mode is only available on resource tables or queries derived from resource tables results that contain _cq_id and _cq_source_id. Search mode may also be used against cloud_assets but it will only return results from resource tables.

Column mode searches purely using the columns in the table. It will work on all table results but it is not optimized for arbitrary substring searches and so may be slow on larger tables.

filter
string

Filter by column value.

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTableListFilters

List Table Filters

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

tag
Array of strings (PlatformFilterTag)

Filter tags

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformTableSaveFilter

Save Table Filter

Authorizations:
bearerAuthcookieAuth
path Parameters
table_name
required
string (PlatformTableName)
Example: cloud_assets

The name of the table.

Request Body schema: application/json
required
name
required
string
expression
required
string (PlatformFilterExpression)

A table column filter.

public
boolean
Default: true

Whether the filter is visible to all users, or only to the user who created it

tags
Array of strings (PlatformFilterTag)
description
string

Responses

Request samples

Content type
application/json
{
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "public": true,
  • "tags": [
    ],
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "name": "t2.micro EC2 instances",
  • "expression": "resource_type=aws_s3_buckets",
  • "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
  • "table": "cloud_assets",
  • "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
  • "user_id": "12345678-1234-1234-1234-1234567890ab",
  • "tags": [
    ],
  • "created_at": "2017-07-14T16:53:42Z"
}

teams

PlatformListTeams

List all teams

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

users

PlatformListUsers

List all users

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

user_search
string

Search by user name or email

role_id
string <uuid> (PlatformRoleID)

Search by user role ID

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformAddUser

Add new user

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
email
required
string
name
required
string
password
string
roles
required
Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ]

Roles for the user

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "name": "string",
  • "password": "string",
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformGetUser

Get user details

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Responses

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformUpdateUser

Update user

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Request Body schema: application/json
email
string
name
string
password
string
enabled
boolean
roles
Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ]

Roles for the user

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "name": "string",
  • "password": "string",
  • "enabled": true,
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformDeleteUser

Delete user

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformDeleteUserTOTP

Disable/Reset MFA for a specific user

Authorizations:
bearerAuthcookieAuth
path Parameters
user_id
required
string <uuid> (PlatformUserID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the User

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformGetCurrentUser

Get the current authenticated user from the OAuth token

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true,
  • "event_identifiers": { },
  • "group_identifier": "string",
  • "registered_team_name": "string",
  • "registered_team_internal": true
}

PlatformUpdateCurrentUser

Update attributes for the current authenticated user from the OAuth token

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
name
string (PlatformUserName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}][a-zA-Z\p{L} \-']*$

The unique name for the user.

tracking_opt_in
boolean

Whether to opt in or out of anonymous user tracking

Responses

Request samples

Content type
application/json
{
  • "name": "Sarah O'Connor",
  • "tracking_opt_in": true
}

Response samples

Content type
application/json
{
  • "created_at": "2017-07-14T16:53:42Z",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "email": "user@example.com",
  • "name": "Sarah O'Connor",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "profile_image_url": "string",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "provider": "local",
  • "tracking_opted_in": true,
  • "mfa_configured": true,
  • "roles": [
    ],
  • "enabled": true
}

PlatformAuthenticateUser

Authenticate a user with password

Request Body schema: application/json
email
required
string
password
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "id_token": "string"
}

PlatformChangeUserPassword

Change user password

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
email
required
string
old_password
required
string
new_password
required
string

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "old_password": "string",
  • "new_password": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformUserTOTPVerify

Verify a one time password for MFA

Authorizations:
bearerAuthcookieAuth
cookie Parameters
__cqp_sess
string
Request Body schema: application/json
otp
required
string

Responses

Request samples

Content type
application/json
{
  • "otp": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformUserTOTPSetup

Set up MFA for the current user

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "url": "string",
  • "secret": "string"
}

PlatformUserTOTPDelete

Disable MFA for the current user

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformLoginUser

Start a session using ID token

Request Body schema: application/json
id_token
required
string

Responses

Request samples

Content type
application/json
{
  • "id_token": "string"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformLogoutUser

Logout a session

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

rbac

PlatformListAllRBACPermissions

List all permissions

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (RBACPermissionSortBy)
Items Enum: "id" "name" "description" "created_by" "created_at" "updated_at"

Sort by options

sort_dir
Array of strings (RBACPermissionSortDirection)
Items Enum: "asc" "desc"

Sort direction options

search_term
string

Filter permissions by name or description.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreateRBACPermission

Create a permission

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string
description
required
string
query
required
string
dry_run
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "query": "string",
  • "dry_run": false
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "query": "string",
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "number_of_affected_roles": 0,
  • "number_of_affected_users": 0
}

PlatformGetRBACPermission

Get a permission

Authorizations:
bearerAuthcookieAuth
path Parameters
permission_id
required
string <uuid> (PlatformRBACPermissionID)

The unique ID for the data permission.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "query": "string",
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "number_of_affected_roles": 0,
  • "number_of_affected_users": 0
}

PlatformUpdateRBACPermission

Update a permission

Authorizations:
bearerAuthcookieAuth
path Parameters
permission_id
required
string <uuid> (PlatformRBACPermissionID)

The unique ID for the data permission.

Request Body schema: application/json
required
name
string
description
string
query
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "query": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "query": "string",
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "number_of_affected_roles": 0,
  • "number_of_affected_users": 0
}

PlatformDeleteRBACPermission

Delete a permission

Authorizations:
bearerAuthcookieAuth
path Parameters
permission_id
required
string <uuid> (PlatformRBACPermissionID)

The unique ID for the data permission.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

PlatformListAllRBACRoles

List all roles

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

sort_by
Array of strings (RBACRoleSortBy)
Items Enum: "id" "name" "description" "created_by" "created_at" "updated_at"

Sort by options

sort_dir
Array of strings (RBACRoleSortDirection)
Items Enum: "asc" "desc"

Sort direction options

search_term
string

Filter roles by name or description.

type
string

Filter roles by type.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

PlatformCreateRBACRole

Create a role

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
name
required
string
description
string
permissions
required
Array of strings <uuid> (PlatformRBACPermissionID) [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ],
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "type": "admin:write"
}

PlatformGetRBACRole

Get a role

Authorizations:
bearerAuthcookieAuth
path Parameters
role_id
required
string <uuid> (PlatformRoleID)

The unique ID for the role.

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ],
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "type": "admin:write"
}

PlatformUpdateRBACRole

Update a role (custom roles only)

Authorizations:
bearerAuthcookieAuth
path Parameters
role_id
required
string <uuid> (PlatformRoleID)

The unique ID for the role.

Request Body schema: application/json
required
name
string
description
string
permissions
Array of strings <uuid> (PlatformRBACPermissionID) [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "permissions": [
    ],
  • "created_by": {
    },
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "type": "admin:write"
}

PlatformDeleteRBACRole

Delete a role

Authorizations:
bearerAuthcookieAuth
path Parameters
role_id
required
string <uuid> (PlatformRoleID)

The unique ID for the role.

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0
}

Get OpenAPI JSON

Returns the OpenAPI definition in JSON format.

Responses

Response samples

Content type
application/json
{ }

platform

PlatformGetPlatformInfo

Information about the platform

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "public_ips": [
    ],
  • "version": "string"
}

PlatformListPlatformVersions

List platform versions

Authorizations:
bearerAuthcookieAuth
query Parameters
page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    }
}

api-keys

PlatformListAPIKeys

List all API Keys

Authorizations:
bearerAuthcookieAuth
query Parameters
per_page
integer <int64> [ 1 .. 1000 ]
Default: 100

The number of results per page (max 1000).

page
integer <int64> >= 1
Default: 1

Page number of the results to fetch

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "metadata": {
    },
  • "allowed_roles": [
    ]
}

PlatformCreateAPIKey

Create new API Key.

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
name
required
string (PlatformAPIKeyName) [ 1 .. 255 ] characters ^(?:[a-zA-Z0-9][a-zA-Z0-9- ]*)?[a-zA-Z0-9]$

Name of the API key

expires_at
required
string <date-time>
roles
Array of strings <uuid> (PlatformRoleID) [ items <uuid > ]

Responses

Request samples

Content type
application/json
{
  • "name": "cli-api-key",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "roles": [
    ]
}

Response samples

Content type
application/json
{
  • "name": "cli-api-key",
  • "created_by": "user@example.com",
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "key": "1234567890abcdef1234567890abcdef",
  • "created_at": "2017-07-14T16:53:42Z",
  • "expires_at": "2017-07-14T16:53:42Z",
  • "last_access_at": "2017-07-14T16:53:42Z",
  • "expired": false,
  • "roles": [
    ]
}

PlatformDeleteAPIKey

Delete API Key. This will remove any future access by this API Key.

Authorizations:
bearerAuthcookieAuth
path Parameters
apikey_id
required
string <uuid> (PlatformAPIKeyID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the API key

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

onboardings

PlatformCreateAWSOnboarding

Create an interactive onboarding for AWS

Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
single_account
required
boolean

Specifies the type of onboarding to create: either a single account onboarding or an organization onboarding

Responses

Request samples

Content type
application/json
{
  • "single_account": true
}

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "region": "string",
  • "stack_name": "string",
  • "issuer_url": "string",
  • "audience": "string",
  • "subject": "string",
  • "notify_path": "string",
  • "template_url": "string",
  • "notify_token": "string"
}

PlatformGetAWSOnboarding

Query an interactive onboarding for AWS

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "stage": "string",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "issuer_url": "string",
  • "audience": "string",
  • "subject": "string",
  • "management_role_arn": "string",
  • "failure_reason": "string",
  • "sync_role_name": "string",
  • "organizational_units": [
    ]
}

PlatformNotifyOnboarding

Update onboarding state

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Request Body schema: application/json
status
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "status": "started"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformGetAWSAccountsInRoot

Query AWS accounts under organization root

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "arn": "string",
  • "type": "OU",
  • "name": "string",
  • "children": [
    ]
}

PlatformGetAWSAccountsInParent

Query AWS accounts under a specifc Organizational Unit

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

aws_orgunit_id
required
string (PlatformOrganizationalUnitID) ^ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}$
Example: ou-7f3s-j8zfa1ao

ID of an organizational unit in AWS

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "arn": "string",
  • "type": "OU",
  • "name": "string",
  • "children": [
    ]
}

PlatformProvisionOnboardingConfiguration

Provision onboarding configuration into the cloud account

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Request Body schema: application/json
notify_url
required
string

URL that should be used for provisioning notifications (including scheme, hostname, and path)

organizational_units
required
Array of strings[ items^(r-[0-9a-z]{4,32}|ou-[a-z0-9]{4,32}-[a-z0-9]... ]

OUs to provision roles into

skip_accounts
Array of strings[ items^\d{12}$ ]

Account IDs to skip onboarding

Responses

Request samples

Content type
application/json
{
  • "notify_url": "string",
  • "organizational_units": [
    ],
  • "skip_accounts": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformCreateAWSCUROnboarding

Create an interactive onboarding for AWS CUR

Authorizations:
bearerAuthcookieAuth

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "region": "string",
  • "stack_name": "string",
  • "issuer_url": "string",
  • "audience": "string",
  • "subject": "string",
  • "notify_path": "string",
  • "template_url": "string",
  • "notify_token": "string"
}

PlatformGetAWSCUROnboarding

Query an interactive onboarding for AWS CUR

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Responses

Response samples

Content type
application/json
{
  • "id": "12345678-1234-1234-1234-1234567890ab",
  • "stage": "string",
  • "created_at": "2017-07-14T16:53:42Z",
  • "updated_at": "2017-07-14T16:53:42Z",
  • "issuer_url": "string",
  • "audience": "string",
  • "subject": "string",
  • "sync_role_arn": "string",
  • "s3_bucket_name": "string",
  • "s3_report_prefix": "string",
  • "cur_report_name": "string",
  • "failure_reason": "string"
}

PlatformNotifyAWSCUROnboarding

Update AWS CUR onboarding state

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Request Body schema: application/json
status
required
string

Responses

Request samples

Content type
application/json
Example
{
  • "status": "started"
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

PlatformVerifyAWSCUROnboarding

Trigger verification of the AWS CUR onboarding

Authorizations:
bearerAuthcookieAuth
path Parameters
onboarding_id
required
string <uuid> (PlatformOnboardingID)
Example: 12345678-1234-1234-1234-1234567890ab

ID of the cloud provider onboarding session

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "status": 0,
  • "errors": [
    ],
  • "field_errors": {
    }
}

usage

PlatformGetTeamUsageSummary

Get a summary of usage for the specified time range.

Authorizations:
bearerAuthcookieAuth
query Parameters
metrics
Array of strings
Default: "paid_rows"
Items Enum: "paid_rows" "cloud_vcpu_seconds" "cloud_vram_byte_seconds" "network_egress_bytes"

A list of metrics to include in the response. Each metric must be one of the predefined valid values. If not provided, only paid-rows will be included.

start
string <date-time>

A valid ISO-8601-formatted date and time, indicating the inclusive start of the query time range. Defaults to 30 days ago.

end
string <date-time>

A valid ISO-8601-formatted date and time, indicating the exclusive end of the query time range. Defaults to the current time.

aggregation_period
string
Default: "day"
Enum: "day" "month"

An aggregation period to sum data over. In other words, data will be returned at this granularity. Currently only supports day and month.

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "values": [
    ],
  • "metadata": {
    }
}

PlatformGetGroupedTeamUsageSummary

Get a grouped summary of usage for the specified time range.

Authorizations:
bearerAuthcookieAuth
path Parameters
group_by
required
string
Enum: "price_category" "plugin" "sync_id"

Group by usage summary. plugin and price_category groupings are only available for paid-rows.

query Parameters
metrics
Array of strings
Default: "paid_rows"
Items Enum: "paid_rows" "cloud_vcpu_seconds" "cloud_vram_byte_seconds" "network_egress_bytes"

A list of metrics to include in the response. Each metric must be one of the predefined valid values. If not provided, only paid-rows will be included.

start
string <date-time>

A valid ISO-8601-formatted date and time, indicating the inclusive start of the query time range. Defaults to 30 days ago.

end
string <date-time>

A valid ISO-8601-formatted date and time, indicating the exclusive end of the query time range. Defaults to the current time.

aggregation_period
string
Default: "day"
Enum: "day" "month"

An aggregation period to sum data over. In other words, data will be returned at this granularity. Currently only supports day and month.

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "values": [
    ],
  • "metadata": {
    }
}