Download OpenAPI specification:
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.
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.
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
Add new user
| email required | string |
| name required | string |
| password | string |
| roles required | Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ] Roles for the user |
{- "email": "string",
- "name": "string",
- "password": "string",
- "roles": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Get user details
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Update user
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
string | |
| name | string |
| password | string |
| enabled | boolean |
| roles | Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ] Roles for the user |
{- "email": "string",
- "name": "string",
- "password": "string",
- "enabled": true,
- "roles": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Delete user
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}{- "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": {
- "property1": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "property2": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}, - "default_roles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "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"
}Update SAML integration information
| metadata_url | string <url> Metadata URL from identity provider. Mutually exclusive with |
| metadata_xml | string <url> Metadata file contents from identity provider. Mutually exclusive with |
| 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 |
{- "metadata_url": "string",
- "metadata_xml": "string",
- "logout_url": "string",
- "role_group_key": "string",
- "role_mappings": {
- "property1": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "property2": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}, - "default_roles": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "disable_access_if_no_role_group": true,
- "enabled": true
}{- "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": {
- "property1": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "property2": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}, - "default_roles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "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"
}Create new SAML rollover certificate
{- "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": {
- "property1": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "property2": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}, - "default_roles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "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"
}Delete current SAML rollover certificate
| fingerprint required | string The fingerprint of the rollover certificate to delete |
{- "fingerprint": "SHA256:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90"
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Promote SAML rollover certificate
| fingerprint required | string The fingerprint of the rollover certificate to promote |
{- "fingerprint": "SHA256:AB:CD:EF:12:34:56:78:90:AB:CD:EF:12:34:56:78:90"
}{- "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": {
- "property1": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "property2": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}, - "default_roles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "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"
}Update platform settings
| enforce_mfa | boolean Default: false Whether or not to require MFA for all users |
{- "enforce_mfa": false
}{- "enforce_mfa": false
}Update platform data settings
| ownership_tags | Array of strings List of tag names for asset ownership |
{- "ownership_tags": [
- "string"
]
}{- "ownership_tags": [ ]
}List all alerts
| 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 |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "enabled": true,
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "notification_destinations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Test an unsaved alert
| query_id | string <uuid> (PlatformQueryID) ID of the query to fill in the alert |
| 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 |
{- "message": "All resources need to be tagged",
- "severity": "low",
- "enabled": true,
- "notification_destinations": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "results": [
- {
- "destination_id": "string",
- "error": "string",
- "response": {
- "is_success": true,
- "http_status_code": 0,
- "http_status": "string",
- "http_body": "string",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}
}
}
]
}List all notification destinations
| 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 |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create notification destination
| 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 |
{- "type": "webhook",
- "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
- "slack_channels": [
- "string"
], - "custom_message": "string",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}, - "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
- "name": "Send to Slack",
- "enabled": true
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}, - "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
- "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
- "slack_channels": [
- "string"
], - "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"
}Test an unsaved notification destination
| 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}}. |
{- "type": "webhook",
- "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
- "slack_channels": [
- "string"
], - "custom_message": "string",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}, - "http_body": "{\"text\": \"Alert: {{alert_message}}\"}"
}{- "is_success": true,
- "http_status_code": 0,
- "http_status": "string",
- "http_body": "string",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}
}Get notification destination
| notification_destination_id required | string <uuid> (PlatformNotificationDestinationID) The unique ID for the notification destination. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}, - "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
- "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
- "slack_channels": [
- "string"
], - "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"
}Update a notification destination
| notification_destination_id required | string <uuid> (PlatformNotificationDestinationID) The unique ID for the notification destination. |
| 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) |
{- "name": "Send to Slack",
- "enabled": true,
- "http_headers": {
- "property1": "string",
- "property2": "string"
}, - "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
- "custom_message": "string",
- "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
- "slack_channels": [
- "string"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}, - "http_body": "{\"text\": \"Alert: {{alert_message}}\"}",
- "slack_connection_id": "60b340b1-a40f-4101-8936-2eb9f63cd318",
- "slack_channels": [
- "string"
], - "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"
}Delete a notification destination
| notification_destination_id required | string <uuid> (PlatformNotificationDestinationID) The unique ID for the notification destination. |
{- "message": "string",
- "status": 0
}Get notification destination alerts
| notification_destination_id required | string <uuid> (PlatformNotificationDestinationID) The unique ID for the notification destination. |
| 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 |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "enabled": true,
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "notification_destinations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Test a notification destination
| notification_destination_id required | string <uuid> (PlatformNotificationDestinationID) The unique ID for the notification destination. |
{- "is_success": true,
- "http_status_code": 0,
- "http_status": "string",
- "http_body": "string",
- "http_headers": {
- "property1": "string",
- "property2": "string"
}
}Create Slack connection
| 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) |
{- "code": "string",
- "redirect_uri": "string"
}{- "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"
}List Slack channels for a connection
| id required | string <uuid> Slack connection ID |
| name | string Filter channels by name (case-insensitive partial match) |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "is_private": true,
- "is_archived": true
}
]
}List audit log events with pagination and filtering
| 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 |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user": {
- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}, - "user_ip_address": "string",
- "event_type": "string",
- "entity_display_name": "string",
- "event_details": { },
- "is_success": true,
- "created_at": "2019-08-24T14:15:22Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a specific audit log event by ID
| id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "user": {
- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}, - "user_ip_address": "string",
- "event_type": "string",
- "entity_display_name": "string",
- "event_details": { },
- "is_success": true,
- "created_at": "2019-08-24T14:15:22Z"
}Create a new AI chat conversation
| 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. |
{- "message": "string",
- "current_query": "string",
- "mode": "ask"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "messages": [
- {
- "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"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Get details of an existing AI chat conversation. Useful for polling for updates.
| conversation_id required | string <uuid> ID of the chat conversation |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "messages": [
- {
- "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"
}
], - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}Send a new message to an existing AI chat conversation
| conversation_id required | string <uuid> ID of the chat conversation |
| 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. |
{- "message": "Help me find all EC2 instances with open ports",
- "query_context": "SELECT * FROM ec2_instances WHERE open_ports IS NOT NULL",
- "mode": "ask"
}{- "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"
}List all custom 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 |
| 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. |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "column_name": "tags_v1_region",
- "label": "Environment name",
- "value_expr": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Save a custom column
| 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. |
{- "description": "string",
- "column_name": "tags_v1_region",
- "label": "Environment name",
- "value_expr": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "column_name": "tags_v1_region",
- "label": "Environment name",
- "value_expr": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z"
}Get a custom column
| custom_column_id required | string <uuid> (PlatformCustomColumnID) The unique ID for the custom column. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "column_name": "tags_v1_region",
- "label": "Environment name",
- "value_expr": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z"
}Update a custom column
| custom_column_id required | string <uuid> (PlatformCustomColumnID) The unique ID for the custom column. |
| 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. |
{- "description": "string",
- "column_name": "tags_v1_region",
- "label": "Environment name",
- "value_expr": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "description": "string",
- "column_name": "tags_v1_region",
- "label": "Environment name",
- "value_expr": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z"
}Delete a custom column
| custom_column_id required | string <uuid> (PlatformCustomColumnID) The unique ID for the custom column. |
{- "message": "string",
- "status": 0
}List Filters
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List Filter Tags
| 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 |
{- "items": [
- "string"
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a table filter by ID
| filter_id required | string <uuid> (PlatformFilterID) The unique ID for the filter. |
{- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}Update a table filter
| filter_id required | string <uuid> (PlatformFilterID) The unique ID for the filter. |
| name | string |
| description | string |
| expression | string (PlatformFilterExpression) A table column filter. |
| tags | Array of strings (PlatformFilterTag) |
{- "name": "t2.micro EC2 instances",
- "description": "string",
- "expression": "resource_type=aws_s3_buckets",
- "tags": [
- "string"
]
}{- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}List Query Filters
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Save Query Filter
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "name": "t2.micro EC2 instances",
- "expression": "resource_type=aws_s3_buckets",
- "public": true,
- "tags": [
- "string"
], - "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}{- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}List Filter Tags For A Saved Query
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "items": [
- "string"
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List Table Filters
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Save Table Filter
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
{- "name": "t2.micro EC2 instances",
- "expression": "resource_type=aws_s3_buckets",
- "public": true,
- "tags": [
- "string"
], - "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}{- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}List Filter Tags For A Table
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
{- "items": [
- "string"
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all notifications for triggered, enabled, policy-bound alerts
| 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) |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "notification_destination": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all plugins
| 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 |
{- "items": [
- {
- "name": "aws",
- "kind": "source",
- "team_name": "cloudquery",
- "display_name": "AWS Source Plugin",
- "category": "cloud-infrastructure",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "official": true,
- "short_description": "Sync data from AWS to any destination",
- "tier": "paid",
- "usd_per_row": "0.00123",
- "free_rows_per_month": 10000,
- "release_stage": "preview"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get details about a given plugin.
| 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. |
{- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000,
- "latest_version": "string"
}List all versions for a given plugin
| 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. |
| 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. |
{- "items": [
- {
- "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": [
- 3
], - "supported_targets": [
- "linux_arm64",
- "darwin_amd64",
- "windows_amd64"
], - "checksums": [
- "string"
], - "package_type": "native"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get details about a given plugin version.
| 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. |
{- "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": [
- 3
], - "supported_targets": [
- "linux_arm64",
- "darwin_amd64",
- "windows_amd64"
], - "checksums": [
- "string"
], - "package_type": "native",
- "spec_json_schema": "string",
- "example_config": "string",
- "ui_base_url": "string",
- "ui_base_url_v2": "string"
}Download an asset for a given plugin version and target
| 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 |
| Accept | string |
{- "checksum": "string",
}List tables for a given plugin version. This only applies to source plugins.
| 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. |
| 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). |
{- "items": [
- {
- "description": "AWS S3 Buckets",
- "is_incremental": true,
- "name": "aws_ec2_instances",
- "parent": "nil",
- "relations": [
- "aws_s3_bucket_cors_rules"
], - "title": "AWS S3 Buckets",
- "is_paid": true
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get schema for a given table and plugin version. This only applies to source plugins.
| 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 |
{- "columns": [
- {
- "description": "string",
- "incremental_key": true,
- "name": "string",
- "not_null": true,
- "primary_key": true,
- "type": "string",
- "type_schema": "string",
- "unique": true
}
], - "description": "string",
- "is_incremental": true,
- "name": "string",
- "parent": "string",
- "relations": [
- "string"
], - "title": "string",
- "is_paid": true,
- "permissions_needed": [
- "storage.buckets.list"
]
}Download an asset for a given plugin version as the current team.
| 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 |
| Accept | string |
{- "checksum": "string",
}List all policies for a team
| 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 |
{- "items": [
- {
- "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": [ ]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create a new policy
| 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 |
{- "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": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "policy_group_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [ ]
}Get a policy by ID
| policy_id required | string <uuid> (PlatformPolicyID) The unique ID for the policy. |
{- "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": [ ]
}Update a policy
| policy_id required | string <uuid> (PlatformPolicyID) The unique ID for the policy. |
| 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 |
{- "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": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "policy_group_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [ ]
}Toggle a policy's status (active/paused)
| policy_id required | string <uuid> (PlatformPolicyID) The unique ID for the policy. |
{- "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": [ ]
}Get violations for a policy
| policy_id required | string <uuid> (PlatformPolicyID) The unique ID for the policy. |
| 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 |
{- "items": [
- {
- "cloud": "aws",
- "resource_type_label": "EC2 Instance",
- "_cq_account_name": "my-account",
- "name": "my-resource",
- "region": "us-east-1",
- "_cq_platform_id": "aws_ec2_instances_12345678-1234-1234-1234-123456789abc",
- "tags": [
- "string"
]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get violation history for a policy
| policy_id required | string <uuid> (PlatformPolicyID) The unique ID for the policy. |
| 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> |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "policy_id": "ee9b03e0-6495-427a-85a5-34444d24ae04",
- "violation_count": 5,
- "run_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get policy metrics summary
| 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) |
{- "total_active_violations": 28,
- "high_severity_violations": 10,
- "violations_this_week": 7
}Get violations grouped by domain
| 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) |
{- "items": [
- {
- "domain": "finops",
- "violation_count": 15
}
], - "total_violations": 28
}Get violations history over time
| 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) |
{- "items": [
- {
- "date": "2026-01-06",
- "violation_count": 3
}
], - "metadata": {
- "interval": "30",
- "start_date": "2025-05-01",
- "end_date": "2026-12-01"
}
}List all policy groups
| 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 |
{- "items": [
- {
- "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",
- "policy_count": 5,
- "violation_count_low": 10,
- "violation_count_medium": 25,
- "violation_count_high": 15,
- "violation_count_critical": 3
}
]
}Create a new policy group
| 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 |
{- "name": "Security Policies",
- "description": "Group containing all security-related policies",
- "policy_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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"
}List policies in a policy group
| policy_group_id required | string <uuid> (Policy Group ID) |
| 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 |
{- "items": [
- {
- "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": [ ]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Update a policy group
| policy_group_id required | string <uuid> (Policy Group ID) |
| name | string |
| description | string |
| policy_ids | Array of strings or null <uuid> [ items <uuid > ] Policy IDs to set for this group |
{- "name": "string",
- "description": "string",
- "policy_ids": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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"
}List all queries
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "columns": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z",
- "alert_configured": true,
- "alert": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "enabled": true,
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "num_destinations": 0
}, - "view_name": "string"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}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.
| 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 |
| 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 |
| query required | string |
{- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'"
}{- "data": {
- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "rows": [
- [
- null
]
]
}, - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Save a query to execute later
| 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 |
{- "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": [
- "string"
], - "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table",
- "view_name": "string",
- "alert": {
- "message": "All resources need to be tagged",
- "severity": "low",
- "enabled": true,
- "notification_destinations": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}{- "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": [
- "string"
], - "columns": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z",
- "alert_configured": true,
- "alert": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "enabled": true,
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "notification_destinations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
]
}, - "view_name": "string"
}List Query Tags
| 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 |
{- "items": [
- "string"
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a saved query
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
{- "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": [
- "string"
], - "columns": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z",
- "alert_configured": true,
- "alert": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "enabled": true,
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "notification_destinations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
]
}, - "view_name": "string"
}Update a saved query
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "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": [
- "string"
], - "description": "Query to find all EC2 instances of type t2.micro from the aws_ec2_instances raw table",
- "view_name": "string",
- "alert": {
- "message": "All resources need to be tagged",
- "severity": "low",
- "enabled": true,
- "notification_destinations": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
}{- "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": [
- "string"
], - "columns": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z",
- "alert_configured": true,
- "alert": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "query_id": "6fa29c22-6bab-424a-859e-a13a5c607e72",
- "enabled": true,
- "message": "string",
- "severity": "low",
- "state": "unknown",
- "total_violations": 0,
- "last_evaluated_at": "2019-08-24T14:15:22Z",
- "triggered_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "notification_destinations": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Send to Slack",
- "enabled": true,
- "type": "webhook",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z"
}
]
}, - "view_name": "string"
}Execute a saved query
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
| 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 |
{- "data": {
- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "rows": [
- [
- null
]
]
}, - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List Query Filters
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Save Query Filter
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "name": "t2.micro EC2 instances",
- "expression": "resource_type=aws_s3_buckets",
- "public": true,
- "tags": [
- "string"
], - "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}{- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}List Filter Tags For A Saved Query
| query_id required | string <uuid> (PlatformQueryID) The unique ID for the query. |
| 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 |
{- "items": [
- "string"
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List Filter Tags For A Table
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
{- "items": [
- "string"
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List insights with optional filtering
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "detected_at": "2019-08-24T14:15:22Z"
}
], - "metadata": {
- "total_count": 0,
- "resource_count": 0,
- "resource_types": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}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.
| column_name required | string Enum: "severity" "insight-category" "source-category" "source" "resource-type" "account" "tag" Column for distinct values |
| 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) |
{- "values": [
- "string"
]
}Get insight by ID
| insight_id required | string (PlatformInsightID) Unique identifier for the insight |
{- "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": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "detected_at": "2019-08-24T14:15:22Z"
}List assets affected by an insight
| insight_id required | string (PlatformInsightID) Unique identifier for the insight |
| 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 |
{- "items": [
- {
- "cloud": "aws",
- "resource_type_label": "EC2 Instance",
- "_cq_account_name": "my-account",
- "name": "my-resource",
- "region": "us-east-1",
- "_cq_platform_id": "aws_ec2_instances_12345678-1234-1234-1234-123456789abc",
- "tags": [
- "string"
]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List insights for a specific asset (by _cq_platform_id)
| asset_id required | string (PlatformTableRowID) Example: table_12345678-1234-1234-1234-1234567890ab ID of the Resource |
| 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. |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2019-08-24T14:15:22Z",
- "detected_at": "2019-08-24T14:15:22Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List reports
| 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 |
{- "reports": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "private": true,
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "updated_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create Report
| 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 |
{- "title": "string",
- "description": "string",
- "content": "string",
- "private": true,
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "private": true,
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "updated_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Get Report
| report_id required | string <uuid> ID of the report. |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "private": true,
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "updated_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Update Report
| report_id required | string <uuid> ID of the report. |
| title | string |
| description | string |
| content | string YAML body |
| private | boolean |
| template_id | string <uuid> Template ID, if report is being created from a template |
{- "title": "string",
- "description": "string",
- "content": "string",
- "private": true,
- "template_id": "c6d67e98-83ea-49f0-8812-e4abae2b68bc"
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "private": true,
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "updated_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Delete Report
| report_id required | string <uuid> ID of the report. |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}List report templates
| 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 |
{- "templates": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "visible": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create Report Template
| title | string |
| description | string |
| content | string YAML body |
| visible | boolean |
{- "title": "string",
- "description": "string",
- "content": "string",
- "visible": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "visible": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Get Report Template
| template_id required | string <uuid> ID of the report template. |
{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "visible": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Update Report Template
| template_id required | string <uuid> ID of the report template. |
| title | string |
| description | string |
| content | string YAML body |
| visible | boolean |
{- "title": "string",
- "description": "string",
- "content": "string",
- "visible": true
}{- "data": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "title": "string",
- "description": "string",
- "content": "string",
- "visible": true,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Delete Report Template
| template_id required | string <uuid> ID of the report template. |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Create a test destination connection.
| 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. |
{- "path": "string",
- "destination_name": "string",
- "version": "v1.2.3",
- "write_mode": "append",
- "migrate_mode": "safe",
- "sync_group_id": "string",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
]
}{- "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"
}Get a sync destination test connection.
| sync_destination_test_connection_id required | string <uuid> (PlatformSyncDestinationTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Destination Test Connection |
{- "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"
}Update a sync destination test connection.
| sync_destination_test_connection_id required | string <uuid> (PlatformSyncDestinationTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Destination Test Connection |
| 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 |
{- "status": "completed",
- "failure_reason": "password authentication failed for user \"exampleuser\"",
- "failure_code": "INVALID_CREDENTIALS"
}{- "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"
}Get logs for a sync destination test connection.
| sync_destination_test_connection_id required | string <uuid> (PlatformSyncDestinationTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Destination Test Connection |
| 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. |
| Accept | string |
{- "data": {
- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "rows": [
- [
- null
]
]
}, - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get live logs for a sync destination test connection.
| sync_destination_test_connection_id required | string <uuid> (PlatformSyncDestinationTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Destination Test Connection |
| Accept | string |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Promote a sync destination test connection to a sync destination.
| sync_destination_test_connection_id required | string <uuid> (PlatformSyncDestinationTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Destination Test Connection |
| 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. |
{- "name": "my-destination-definition",
- "display_name": "Human Readable Name",
- "write_mode": "append",
- "migrate_mode": "safe",
- "send_sync_summary": true,
- "overwrite_destination": true
}{- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true,
- "previous_version": "v1.2.2"
}List all sync destination definitions.
| 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 |
{- "items": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true,
- "previous_version": "v1.2.2"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a single sync destination definition.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync destination |
{- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true,
- "previous_version": "v1.2.2"
}Update a Sync Destination definition.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync 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 (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_-]+$ ] |
{- "display_name": "Human Readable Name",
- "write_mode": "append",
- "migrate_mode": "safe",
- "send_sync_summary": true,
- "last_update_source": "yaml",
- "transformers": [
- "string"
]
}{- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true,
- "previous_version": "v1.2.2"
}Delete a Sync Destination definition. Any syncs relying on this destination must be deleted first.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync destination |
{- "message": "string",
- "status": 0
}List all Syncs for a given sync destination.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync destination |
| 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 |
{- "items": [
- {
- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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",
- "last_run": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "migration": true,
- "created_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
- "total_rows": 0,
- "warnings": 0,
- "errors": 0,
- "ingested": true
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get test connection details for sync destination.
| 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 |
{- "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"
}Create a test source connection.
| 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. |
{- "path": "string",
- "source_name": "string",
- "version": "v1.2.3",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}{- "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"
}Get a sync source test connection.
| sync_source_test_connection_id required | string <uuid> (PlatformSyncSourceTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Source Test Connection |
{- "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"
}Update a sync source test connection.
| sync_source_test_connection_id required | string <uuid> (PlatformSyncSourceTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Source Test Connection |
| 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 |
{- "status": "completed",
- "failure_reason": "password authentication failed for user \"exampleuser\"",
- "failure_code": "INVALID_CREDENTIALS"
}{- "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"
}Get logs for a sync source test connection.
| sync_source_test_connection_id required | string <uuid> (PlatformSyncSourceTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Source Test Connection |
| 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. |
| Accept | string |
{- "data": {
- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "rows": [
- [
- null
]
]
}, - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get live logs for a sync source test connection.
| sync_source_test_connection_id required | string <uuid> (PlatformSyncSourceTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Source Test Connection |
| Accept | string |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Promote a sync source test connection to a sync source.
| sync_source_test_connection_id required | string <uuid> (PlatformSyncSourceTestConnectionID) Example: 12345678-1234-1234-1234-1234567890ab ID of the Sync Source Test Connection |
| 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 |
| 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 |
{- "name": "my-source-definition",
- "display_name": "Human Readable Name",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "overwrite_source": true,
- "destination_names": [
- "cloudquery"
]
}{- "name": "my-source-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "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"
}Create an integration test connection.
| 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. |
{- "path": "string",
- "source_name": "string",
- "version": "v1.2.3",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}{- "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"
}List sync integrations
| 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 |
{- "items": [
- {
- "name": "string",
- "display_name": "Human Readable Name",
- "source": {
- "test_connection_id": "12345678-1234-1234-1234-1234567890ab",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string"
}
], - "last_update_source": "yaml",
- "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}, - "destinations": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}
], - "schedule": "string",
- "disabled": false,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_by": "string",
- "last_run": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "migration": true,
- "created_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
- "total_rows": 0,
- "warnings": 0,
- "errors": 0,
- "ingested": true
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create a new integration associated with a completed test connection
| 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 |
{- "name": "string",
- "display_name": "Human Readable Name",
- "source": {
- "test_connection_id": "12345678-1234-1234-1234-1234567890ab",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "last_update_source": "yaml"
}, - "schedule": "string",
- "disabled": false,
- "destination_names": [
- "cloudquery"
]
}{- "name": "string",
- "display_name": "Human Readable Name",
- "source": {
- "test_connection_id": "12345678-1234-1234-1234-1234567890ab",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string"
}
], - "last_update_source": "yaml",
- "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}, - "destinations": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}
], - "schedule": "string",
- "disabled": false,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}Get a sync integration by name
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync |
{- "name": "string",
- "display_name": "Human Readable Name",
- "source": {
- "test_connection_id": "12345678-1234-1234-1234-1234567890ab",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string"
}
], - "last_update_source": "yaml",
- "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}, - "destinations": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}
], - "schedule": "string",
- "disabled": false,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_by": "string",
- "last_run": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "migration": true,
- "created_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
- "total_rows": 0,
- "warnings": 0,
- "errors": 0,
- "ingested": true
}
}Update attributes of an integration
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of 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 |
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 |
{- "display_name": "Human Readable Name",
- "source": {
- "test_connection_id": "12345678-1234-1234-1234-1234567890ab",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "last_update_source": "yaml"
}, - "schedule": "string",
- "disabled": true,
- "destination_names": [
- "my-destination-definition"
]
}{- "name": "string",
- "display_name": "Human Readable Name",
- "source": {
- "test_connection_id": "12345678-1234-1234-1234-1234567890ab",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string"
}
], - "last_update_source": "yaml",
- "onboarding_id": "12345678-1234-1234-1234-1234567890ab"
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}, - "destinations": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}
], - "schedule": "string",
- "disabled": false,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z",
- "created_by": "string"
}Delete an integration
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync |
| delete_data | boolean Default: false If true, also delete data associated with this integration from the relevant destinations. |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}List all sync source definitions.
| 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 |
{- "items": [
- {
- "name": "my-source-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "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"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a single sync source definition.
| sync_source_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync source |
{- "name": "my-source-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "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"
}Update a Sync Source definition.
| sync_source_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync 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 | 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 |
| 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 |
{- "display_name": "Human Readable Name",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "last_update_source": "yaml",
- "destination_names": [
- "cloudquery"
]
}{- "name": "my-source-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "tables": [
- "string"
], - "skip_tables": [
- "string"
], - "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "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"
}Delete a Sync Source definition. Any syncs relying on this source must be deleted first.
| sync_source_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync source |
{- "message": "string",
- "status": 0
}List all Syncs for a given sync source.
| sync_source_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync source |
| 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 |
{- "items": [
- {
- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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",
- "last_run": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "migration": true,
- "created_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
- "total_rows": 0,
- "warnings": 0,
- "errors": 0,
- "ingested": true
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get test connection details for sync source.
| 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 |
{- "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"
}List all sync transformer definitions.
| 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 |
{- "items": [
- {
- "name": "my-transformer-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a single sync transformer definition.
| sync_transformer_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync transformer |
{- "name": "my-transformer-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true
}Update a Sync Transformer definition.
| sync_transformer_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync transformer |
| 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 |
{- "display_name": "Human Readable Name",
- "last_update_source": "yaml"
}{- "name": "my-transformer-definition",
- "display_name": "Human Readable Name",
- "path": "string",
- "version": "v1.2.3",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true
}Delete a Sync Transformer definition. Any syncs relying on this transformer must be deleted first.
| sync_transformer_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync transformer |
{- "message": "string",
- "status": 0
}List all Syncs for a given sync transformer.
| sync_transformer_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync transformer |
| 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 |
{- "items": [
- {
- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all Sync Destinations for a given sync transformer.
| sync_transformer_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync transformer |
| 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 |
{- "items": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true,
- "previous_version": "v1.2.2"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all version upgrades for syncs
| 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 |
{- "items": [
- {
- "path": "string",
- "kind": "source",
- "prev_version": "v1.2.3",
- "new_version": "v1.3.0",
- "platform_version": "v1.1.0",
- "created_at": "2023-07-14T16:53:42Z",
- "sync_source_destination_names": [
- "string"
], - "sync_source_destination_display_names": [
- "string"
]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all Syncs.
| 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 |
{- "items": [
- {
- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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",
- "last_run": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "migration": true,
- "created_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
- "total_rows": 0,
- "warnings": 0,
- "errors": 0,
- "ingested": true
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create new Sync definition. Sync runs can be scheduled automatically, or triggered manually after sync is created.
| 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 |
{- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "schedule": "string",
- "disabled": false,
- "cpu": "1",
- "memory": "2Gi"
}{- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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"
}Get a Sync
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync |
{- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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"
}Update a Sync
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of 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 | 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 |
{- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "schedule": "string",
- "disabled": false,
- "env": [
- {
- "name": "string"
}
], - "cpu": "1",
- "memory": "2Gi"
}{- "name": "string",
- "display_name": "Human Readable Name",
- "source": "string",
- "destinations": [
- "string"
], - "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"
}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.
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}List all Sync Runs.
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync |
| 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 |
{- "items": [
- {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create new SyncRun. This will trigger a manual job run.
| sync_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync |
{- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}Get a Sync Run.
| 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 |
{- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}Update a SyncRun
| 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 |
| 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 |
{- "status": "completed",
- "status_reason": "error"
}{- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}Get logs for a sync run.
| 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 |
| 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. |
| Accept | string |
{- "data": {
- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "rows": [
- [
- null
]
]
}, - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get live logs for a sync run.
| 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 |
| table | string Table name to filter logs by. Use a single dash ("-") as input to exclude all table-specific log lines. |
| Accept | string |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Get statistics on a Sync Run
| 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 |
{- "completed_tables": 0,
- "started_at": "2017-07-14T16:53:42Z",
- "last_completed_at": "2017-07-14T16:53:42Z",
- "resources": 0,
- "errors": 0,
- "panics": 0
}Get table details on a Sync Run
| 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 |
| 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. |
{- "items": [
- {
- "service_name": "aws",
- "name": "aws_ec2_instances",
- "started_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
- "resources": 0,
- "errors": 0,
- "panics": 0,
- "runtime_seconds": 0
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create a test destination connection.
| 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. |
{- "path": "string",
- "destination_name": "string",
- "version": "v1.2.3",
- "write_mode": "append",
- "migrate_mode": "safe",
- "sync_group_id": "string",
- "spec": { },
- "env": [
- {
- "name": "string",
- "value": "string"
}
]
}{- "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"
}Create sync destination based on test connection.
| 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 |
{- "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"
}{- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}List all sync destination definitions.
| 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 |
{- "items": [
- {
- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get a single sync destination definition.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync destination |
{- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "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": {
- "sync_name": "string",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "status": "completed",
- "status_reason": "error",
- "workers": [
- {
- "phase": "Pending",
- "reason": "string"
}
], - "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
}, - "plugin": {
- "team_name": "cloudquery",
- "name": "aws-source",
- "kind": "source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "display_name": "AWS Source Plugin",
- "official": true,
- "release_stage": "coming-soon",
- "short_description": "Sync data from AWS to any destination",
- "tier": "free",
- "public": true,
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
}Update a Sync Destination definition.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync 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 (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_-]+$ ] |
{- "display_name": "Human Readable Name",
- "write_mode": "append",
- "migrate_mode": "safe",
- "send_sync_summary": true,
- "last_update_source": "yaml",
- "disabled": true,
- "transformers": [
- "string"
]
}{- "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": [
- {
- "name": "string",
- "value": "string"
}
], - "last_update_source": "yaml",
- "transformers": [
- "string"
], - "created_at": "2023-07-14T16:53:42Z",
- "updated_at": "2023-07-14T16:53:42Z",
- "draft": true,
- "previous_version": "v1.2.2"
}Delete a Sync Destination definition. Any syncs relying on this destination must be deleted first.
| sync_destination_name required | string^[a-zA-Z0-9_-]+$ Unique name of the sync destination |
{- "message": "string",
- "status": 0
}List Tables
| 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 |
{- "items": [
- {
- "name": "cloud_assets"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get all sources and their associated tables. Returns data in the format needed for the delete action.
| 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 |
{- "sources": [
- {
- "source_name": "aws-integration",
- "display_name": "AWS Integration",
- "tables": [
- {
- "name": "aws_ec2_instances",
- "deletion_pending": false
}, - {
- "name": "aws_s3_buckets",
- "deletion_pending": true
}
], - "plugin": "cloudquery/aws"
}, - {
- "source_name": "gcp-integration",
- "display_name": "GCP Integration",
- "tables": [
- {
- "name": "gcp_compute_instances",
- "deletion_pending": false
}
], - "plugin": "cloudquery/gcp"
}
], - "metadata": {
- "page_size": 10,
- "last_page": 1,
- "total_count": 2
}
}Perform an action on table data across multiple sources. Supported actions: delete (drops partitions for specified tenant/source/table combinations).
| action required | string Value: "delete" The action to perform on the table data |
required | object Map of source names to arrays of table names |
{- "action": "delete",
- "sources": {
- "source_name_1": [
- "table_1",
- "table_2"
], - "source_name_2": [
- "table_3"
]
}
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}List Table Rows
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
| 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 |
{- "data": {
- "query": "SELECT account_id, instance_id, instance_type, region, name, tags FROM aws_ec2_instance WHERE instance_type = 't2.micro'",
- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "rows": [
- [
- null
]
]
}, - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get Table row
| 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 |
| 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. |
{- "data": { },
- "matches": [
- {
- "key": "string",
- "value": "string",
- "start_index": 0,
- "end_index": 0
}
]
}Get Table Schema
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
{- "schema": [
- {
- "name": "column_name",
- "type": "Nullable(String)",
- "default_kind": "DEFAULT",
- "default_expression": "string",
- "comment": "string",
- "kind": "any",
- "nullable": true
}
], - "default_columns": [
- "string"
]
}Get Table Schemas
| 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 |
{- "items": [
- {
- "table_name": "string",
- "schema": [
- {
- "name": "column_name",
- "type": "Nullable(String)",
- "default_kind": "DEFAULT",
- "default_expression": "string",
- "comment": "string",
- "kind": "any",
- "nullable": true
}
], - "default_columns": [
- "string"
]
}
]
}Get Table Columns
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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). |
{- "items": [
- {
- "name": "region",
- "kind": "any",
- "nullable": true
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Get Table Column Values
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| column_name required | string The name of a table column. |
| 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). |
{- "items": [
- {
- "value": "string",
- "kind": "any"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List Table Filters
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
{- "items": [
- {
- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Save Table Filter
| table_name required | string (PlatformTableName) Example: cloud_assets The name of the table. |
| 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 |
{- "name": "t2.micro EC2 instances",
- "expression": "resource_type=aws_s3_buckets",
- "public": true,
- "tags": [
- "string"
], - "description": "Filter to find all EC2 instances of type t2.micro from the aws_ec2_instance raw table"
}{- "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": [
- "string"
], - "created_at": "2017-07-14T16:53:42Z"
}List all teams
| 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 |
{- "items": [
- {
- "name": "cloudquery"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all users
| 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 |
{- "items": [
- {
- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Add new user
| email required | string |
| name required | string |
| password | string |
| roles required | Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ] Roles for the user |
{- "email": "string",
- "name": "string",
- "password": "string",
- "roles": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Get user details
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Update user
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
string | |
| name | string |
| password | string |
| enabled | boolean |
| roles | Array of strings <uuid> (PlatformRoleID) >= 0 items [ items <uuid > ] Roles for the user |
{- "email": "string",
- "name": "string",
- "password": "string",
- "enabled": true,
- "roles": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Delete user
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Disable/Reset MFA for a specific user
| user_id required | string <uuid> (PlatformUserID) Example: 12345678-1234-1234-1234-1234567890ab ID of the User |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Get the current authenticated user from the OAuth token
{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true,
- "event_identifiers": { },
- "group_identifier": "string",
- "registered_team_name": "string",
- "registered_team_internal": true
}Update attributes for the current authenticated user from the OAuth token
| 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 |
{- "name": "Sarah O'Connor",
- "tracking_opt_in": true
}{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "enabled": true
}Authenticate a user with password
| email required | string |
| password required | string |
{- "email": "string",
- "password": "string"
}{- "id_token": "string"
}Change user password
| email required | string |
| old_password required | string |
| new_password required | string |
{- "email": "string",
- "old_password": "string",
- "new_password": "string"
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Verify a one time password for MFA
| __cqp_sess | string |
| otp required | string |
{- "otp": "string"
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Start a session using ID token
| id_token required | string |
{- "id_token": "string"
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}List all permissions
| 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. |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create a permission
| name required | string |
| description required | string |
| query required | string |
| dry_run | boolean Default: false |
{- "name": "string",
- "description": "string",
- "query": "string",
- "dry_run": false
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}Get a permission
| permission_id required | string <uuid> (PlatformRBACPermissionID) The unique ID for the data permission. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}Update a permission
| permission_id required | string <uuid> (PlatformRBACPermissionID) The unique ID for the data permission. |
| name | string |
| description | string |
| query | string |
{- "name": "string",
- "description": "string",
- "query": "string"
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}Delete a permission
| permission_id required | string <uuid> (PlatformRBACPermissionID) The unique ID for the data permission. |
{- "message": "string",
- "status": 0
}List all roles
| 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. |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}Create a role
| name required | string |
| description | string |
| permissions required | Array of strings <uuid> (PlatformRBACPermissionID) [ items <uuid > ] |
{- "name": "string",
- "description": "string",
- "permissions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}Get a role
| role_id required | string <uuid> (PlatformRoleID) The unique ID for the role. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}Update a role (custom roles only)
| role_id required | string <uuid> (PlatformRoleID) The unique ID for the role. |
| name | string |
| description | string |
| permissions | Array of strings <uuid> (PlatformRBACPermissionID) [ items <uuid > ] |
{- "name": "string",
- "description": "string",
- "permissions": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}List platform versions
| 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). |
{- "items": [
- {
- "name": "string",
- "created_at": "2019-08-24T14:15:22Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}
}List all API Keys
| 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 |
{- "items": [
- {
- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0,
- "page_size": 0,
- "time_ms": 0
}, - "allowed_roles": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}Create new API Key.
| 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 > ] |
{- "name": "cli-api-key",
- "expires_at": "2019-08-24T14:15:22Z",
- "roles": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{- "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": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "permissions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "description": "string",
- "query": "string",
- "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "number_of_affected_roles": 0,
- "number_of_affected_users": 0
}
], - "created_by": {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "email": "string"
}, - "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "type": "admin:write"
}
]
}Delete API Key. This will remove any future access by this API Key.
| apikey_id required | string <uuid> (PlatformAPIKeyID) Example: 12345678-1234-1234-1234-1234567890ab ID of the API key |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Create an interactive onboarding for AWS
| single_account required | boolean Specifies the type of onboarding to create: either a single account onboarding or an organization onboarding |
{- "single_account": true
}{- "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"
}Query an interactive onboarding for AWS
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
{- "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": [
- "string"
]
}Update onboarding state
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
| status required | string |
{- "status": "started"
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Query AWS accounts under organization root
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
{- "id": "string",
- "arn": "string",
- "type": "OU",
- "name": "string",
- "children": [
- { }
]
}Query AWS accounts under a specifc Organizational Unit
| 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 |
{- "id": "string",
- "arn": "string",
- "type": "OU",
- "name": "string",
- "children": [
- { }
]
}Provision onboarding configuration into the cloud account
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
| 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 |
{- "notify_url": "string",
- "organizational_units": [
- "r-xvfz"
], - "skip_accounts": [
- "615713231484"
]
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Create an interactive onboarding for AWS CUR
{- "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"
}Query an interactive onboarding for AWS CUR
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
{- "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"
}Update AWS CUR onboarding state
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
| status required | string |
{- "status": "started"
}{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Trigger verification of the AWS CUR onboarding
| onboarding_id required | string <uuid> (PlatformOnboardingID) Example: 12345678-1234-1234-1234-1234567890ab ID of the cloud provider onboarding session |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}Get a summary of usage for the specified time range.
| 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 |
| 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. |
{- "groups": [
- {
- "name": "plugin",
- "value": "cloudquery/source/aws"
}, - {
- "name": "plugin",
- "value": "cloudquery/source/gcp"
}
], - "values": [
- {
- "timestamp": "2021-01-01T00:00:00Z",
- "paid_rows": [
- 100,
- 200
]
}, - {
- "timestamp": "2021-01-02T00:00:00Z",
- "paid_rows": [
- 150,
- 300
]
}
], - "metadata": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "aggregation_period": "day",
- "metrics": [
- "paid_rows"
]
}
}Get a grouped summary of usage for the specified time range.
| group_by required | string Enum: "price_category" "plugin" "sync_id" Group by usage summary. |
| 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 |
| 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. |
{- "groups": [
- {
- "name": "plugin",
- "value": "cloudquery/source/aws"
}, - {
- "name": "plugin",
- "value": "cloudquery/source/gcp"
}
], - "values": [
- {
- "timestamp": "2021-01-01T00:00:00Z",
- "paid_rows": [
- 100,
- 200
]
}, - {
- "timestamp": "2021-01-02T00:00:00Z",
- "paid_rows": [
- 150,
- 300
]
}
], - "metadata": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z",
- "aggregation_period": "day",
- "metrics": [
- "paid_rows"
]
}
}