Download OpenAPI specification:Download
Welcome to the CloudQuery API documentation! This API can be used to interact with the CloudQuery platform. The API allows you to manage your teams, usage, spend limits, plugins, addons, cloud syncs, and much more.
The API is secured using bearer tokens. To get started, you can generate an API key from the CloudQuery dashboard. For a step-by-step guide, see: https://docs.cloudquery.io/docs/deployment/generate-api-key.
The base URL for the API is https://api.cloudquery.io
.
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"
}
Update attributes for the current authenticated user from the OAuth token
name | string (UserName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}][a-zA-Z\p{L} \-']*$ The unique name for the user. |
{- "name": "Sarah O'Connor"
}
{- "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"
}
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"
}
}
Reset user password from email
email required | string <email> Email address to reset |
subdomain | string^[a-zA-Z0-9-]+$ Subdomain to use in the URL |
{- "email": "user@example.com",
- "subdomain": "string"
}
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
List of the current user's unaccepted invitations
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": [
- {
- "team_name": "cloudquery",
- "email": "user@example.com",
- "role": "admin",
- "created_at": "2017-07-14T16:53:42Z",
- "token": "b5507016-7da2-4777-a161-1e8042a6a377"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Get memberships that the user has accepted.
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": [
- {
- "role": "admin",
- "team": {
- "created_at": "2017-07-14T16:53:42Z",
- "name": "cloudquery",
- "display_name": "CloudQuery",
- "plan": "free",
- "is_trial_active": false,
- "internal": false
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
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": [
- {
- "created_at": "2017-07-14T16:53:42Z",
- "name": "cloudquery",
- "plan": "free",
- "plan_end_time": "2017-07-14T16:53:42Z",
- "is_trial_active": false,
- "trial_end_time": "2017-07-14T16:53:42Z",
- "display_name": "CloudQuery",
- "internal": false
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Create a team owned by the current user.
name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
display_name required | string [ 1 .. 255 ] characters The team's display name |
{- "name": "cloudquery",
- "display_name": "string"
}
{- "created_at": "2017-07-14T16:53:42Z",
- "name": "cloudquery",
- "plan": "free",
- "plan_end_time": "2017-07-14T16:53:42Z",
- "is_trial_active": false,
- "trial_end_time": "2017-07-14T16:53:42Z",
- "display_name": "CloudQuery",
- "internal": false
}
Get a team by name
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
{- "created_at": "2017-07-14T16:53:42Z",
- "name": "cloudquery",
- "plan": "free",
- "plan_end_time": "2017-07-14T16:53:42Z",
- "is_trial_active": false,
- "trial_end_time": "2017-07-14T16:53:42Z",
- "display_name": "CloudQuery",
- "internal": false
}
Update team attributes
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
display_name | string The team's display name |
{- "display_name": "string"
}
{- "created_at": "2017-07-14T16:53:42Z",
- "name": "cloudquery",
- "plan": "free",
- "plan_end_time": "2017-07-14T16:53:42Z",
- "is_trial_active": false,
- "trial_end_time": "2017-07-14T16:53:42Z",
- "display_name": "CloudQuery",
- "internal": false
}
Get URLs to upload images for a given team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
required | Array of objects (Create Team Image Request) non-empty |
{- "images": [
- {
- "name": "string",
- "checksum": "stringstringstringstringstringstringstri",
- "content_type": "image/png"
}
]
}
{- "items": [
- {
- "name": "string",
- "checksum": "string",
- "url": "string",
- "upload_url": "string",
- "required_headers": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Get memberships to the team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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": [
- {
- "role": "admin",
- "user": {
- "created_at": "2017-07-14T16:53:42Z",
- "email": "user@example.com",
- "id": "12345678-1234-1234-1234-1234567890ab",
- "name": "Sarah O'Connor",
- "updated_at": "2017-07-14T16:53:42Z"
}
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Remove a user from the team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
email required | string |
{- "email": "string"
}
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
Remove a user from the team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
email required | string Example: user@example.com |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
Get monthly spending limit for team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
{- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "usd": 1000
}
Create a spending limit for a team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
usd required | integer [ 0 .. 1000000000 ] The maximum USD amount the team is allowed to use within a calendar month. |
{- "usd": 1000
}
{- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "usd": 1000
}
Update a spending limit for a team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
usd required | integer [ 0 .. 1000000000 ] The maximum USD amount the team is allowed to use within a calendar month. |
{- "usd": 1000
}
{- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "usd": 1000
}
Delete a spending limit for a team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
{- "message": "string",
- "status": 0
}
List all past invoices for the team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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": [
- {
- "created_at": "2017-07-14T16:53:42Z",
- "amount_due": 1000,
- "currency": "usd",
- "paid": true
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
List plugin usage for the current calendar month.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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": [
- {
- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source",
- "rows": 1000000,
- "usd": "43.95",
- "remaining_usd": "56.05",
- "remaining_rows": 1
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Increase the usage of a plugin. This can incur billing costs and should be used only by plugin SDKs.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the plugin. |
Array of objects | |
rows required | integer >= 0 The total number of additional rows used by the plugin. |
request_id required | string <uuid> A unique ID associated with the usage increase. |
{- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source",
- "tables": [
- {
- "name": "my_table",
- "rows": 100
}
], - "rows": 1000000,
- "request_id": "123e4567-e89b-12d3-a456-426614174000"
}
{- "message": "string",
- "status": 0
}
Get plugin usage for the current calendar month.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
{- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source",
- "rows": 1000000,
- "usd": "43.95",
- "remaining_usd": "56.05",
- "remaining_rows": 1
}
Get a summary of usage for the specified time range.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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"
]
}
}
Get team spend for defined period.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
start | string <date-time> A valid ISO 8601 date string representing the inclusive start of the period. |
end | string <date-time> A valid ISO 8601 date string representing the exclusive end of the period. |
{- "values": [
- {
- "date": "2019-08-24T14:15:22Z",
- "by_category": [
- {
- "category": "api",
- "total": "string"
}
], - "total": "string"
}
], - "metadata": {
- "start": "2019-08-24T14:15:22Z",
- "end": "2019-08-24T14:15:22Z"
}
}
List of open invitations to the team
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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": [
- {
- "team_name": "cloudquery",
- "email": "user@example.com",
- "role": "admin",
- "created_at": "2017-07-14T16:53:42Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Invite a user to join a team with their email address
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
email required | string <email> |
role required | string Enum: "admin" "member" |
{- "email": "user@example.com",
- "role": "admin"
}
{- "team_name": "cloudquery",
- "email": "user@example.com",
- "role": "admin",
- "created_at": "2017-07-14T16:53:42Z"
}
Delete an invitation to the team, preventing the user becoming a team member
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
email required | string <email> |
{- "email": "user@example.com"
}
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
Accept an invitation to the team, creating a user membership
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
token required | string <uuid> |
{- "token": "b5507016-7da2-4777-a161-1e8042a6a377"
}
{- "role": "admin",
- "team": {
- "created_at": "2017-07-14T16:53:42Z",
- "name": "cloudquery",
- "plan": "free",
- "plan_end_time": "2017-07-14T16:53:42Z",
- "is_trial_active": false,
- "trial_end_time": "2017-07-14T16:53:42Z",
- "display_name": "CloudQuery",
- "internal": false
}
}
Cancel an invitation to the team, preventing the user becoming a team member
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
email required | string Example: user@example.com |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
List all subscription orders for the team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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": [
- {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "team_name": "cloudquery",
- "plan": "free",
- "status": "pending",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Start the checkout process for a subscription order.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plan required | string (TeamPlan) Enum: "free" "paid" "enterprise" "trial" The plan the team is on (trial is deprecated) |
success_url required | string URL to redirect to after successful order completion |
cancel_url required | string URL to redirect to after order cancellation |
{- "plan": "free",
}
{- "id": "12345678-1234-1234-1234-1234567890ab",
- "team_name": "cloudquery",
- "plan": "free",
- "status": "pending",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
}
Get a subscription order for the team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
subscription_order_id required | string <uuid> (TeamSubscriptionOrderID) Example: 12345678-1234-1234-1234-1234567890ab ID of the team subscription order |
{- "id": "12345678-1234-1234-1234-1234567890ab",
- "team_name": "cloudquery",
- "plan": "free",
- "status": "pending",
- "created_at": "2017-07-14T16:53:42Z",
- "updated_at": "2017-07-14T16:53:42Z",
- "completed_at": "2017-07-14T16:53:42Z",
}
List all users in the current team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the 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 |
{- "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"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
List all team API Keys
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the 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 |
{- "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,
- "scope": "read-and-write"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Create new team API Key.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
name required | string (APIKeyName) [ 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> |
{- "name": "cli-api-key",
- "expires_at": "2019-08-24T14:15:22Z"
}
{- "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,
- "scope": "read-and-write"
}
Delete API Key. This will remove any future access by this API Key.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
apikey_id required | string <uuid> (APIKeyID) Example: 12345678-1234-1234-1234-1234567890ab ID of the API key |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
List all plugin notification requests
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": [
- {
- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source",
- "created_at": "2017-07-14T16:53:42Z",
- "sent_at": "2017-07-14T16:53:42Z",
- "status": "pending"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Create a new plugin notification request.
plugin_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the plugin. |
{- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source"
}
{- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source",
- "created_at": "2017-07-14T16:53:42Z",
- "sent_at": "2017-07-14T16:53:42Z",
- "status": "pending"
}
Query plugin notification request for a given plugin.
plugin_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
{- "items": [
- {
- "plugin_team": "cloudquery",
- "plugin_kind": "source",
- "plugin_name": "aws-source",
- "created_at": "2017-07-14T16:53:42Z",
- "sent_at": "2017-07-14T16:53:42Z",
- "status": "pending"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Remove plugin notification request for a given plugin.
plugin_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
{- "message": "string",
- "status": 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). |
{- "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
}
}
Create a plugin owned by the specified team. User must be part of that team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
kind required | string (PluginKind) Enum: "source" "destination" "transformer" The kind of plugin, ie. source or destination. |
name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the plugin. |
category required | string (PluginCategory) Enum: "cloud-infrastructure" "databases" "sales-marketing" "engineering-analytics" "marketing-analytics" "shipment-tracking" "product-analytics" "cloud-finops" "project-management" "fleet-management" "security" "data-warehouses" "human-resources" "finance" "customer-support" "other" Supported categories for plugins |
price_category | string (PluginPriceCategory) Enum: "api" "database" "free" Supported price categories for billing |
tier | string (PluginTier) Deprecated Enum: "free" "paid" "open-core" This field is deprecated, refer to
|
display_name required | string [ 1 .. 50 ] characters The plugin's display name, as shown in the CloudQuery Hub. |
short_description required | string [ 1 .. 512 ] characters Short description of the plugin. This will be shown in the CloudQuery Hub. |
homepage | string |
public required | boolean Whether the plugin is listed in the CloudQuery Hub. If false, the plugin will not be shown in the CloudQuery Hub and will only be visible to members of the team. |
repository | string |
release_stage | string (PluginReleaseStageCreate) Enum: "coming-soon" "preview" "ga" Official plugins can go through three release stages: Coming Soon, Preview, and GA. The Coming Soon stage is for plugins that are not yet ready for Preview, but users can subscribe to be notified when they are ready. Both Preview and GA plugins follow semantic versioning. The main differences between the two stages are: Preview plugins are still experimental and may have frequent breaking changes. Preview plugins might get deprecated due to lack of usage. Long Term Support with community Discord and bug fixes is only guaranteed for GA plugins. Premium plugins are often discounted or free during the Preview stage. |
logo | string^https:\/\/storage\.googleapis\.com\/cq-cloud... URL to the plugin's logo. This will be shown in the CloudQuery Hub. |
usd_per_row | string^\d+(?:\.\d{1,10})?$ Deprecated Deprecated. Use |
free_rows_per_month | integer <int64> Deprecated Deprecated. Use |
{- "team_name": "cloudquery",
- "kind": "source",
- "name": "aws-source",
- "category": "cloud-infrastructure",
- "price_category": "api",
- "tier": "free",
- "display_name": "AWS Source Plugin",
- "short_description": "Sync data from AWS to any destination",
- "public": true,
- "release_stage": "coming-soon",
- "usd_per_row": "0.00001",
- "free_rows_per_month": 10000
}
{- "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,
- "minimum_cloud_version": "v1.2.3"
}
Get details about a given plugin.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 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,
- "minimum_cloud_version": "v1.2.3",
- "latest_version": "string"
}
Update a plugin
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
category | string (PluginCategory) Enum: "cloud-infrastructure" "databases" "sales-marketing" "engineering-analytics" "marketing-analytics" "shipment-tracking" "product-analytics" "cloud-finops" "project-management" "fleet-management" "security" "data-warehouses" "human-resources" "finance" "customer-support" "other" Supported categories for plugins |
price_category | string (PluginPriceCategory) Enum: "api" "database" "free" Supported price categories for billing |
tier | string (PluginTier) Deprecated Enum: "free" "paid" "open-core" This field is deprecated, refer to
|
display_name | string [ 1 .. 50 ] characters The plugin's display name, as shown in the CloudQuery Hub. |
short_description | string [ 1 .. 512 ] characters Short description of the plugin. This will be shown in the CloudQuery Hub. |
homepage | string |
repository | string |
logo | string^(https:\/\/storage\.googleapis\.com\/cq-clou... URL to the plugin's logo. This will be shown in the CloudQuery Hub. |
public | boolean If plugin is not public, it won't be visible to other teams in the CloudQuery Hub. |
release_stage | string (PluginReleaseStageUpdate) Enum: "coming-soon" "preview" "ga" Official plugins can go through three release stages: Coming Soon, Preview, and GA. The Coming Soon stage is for plugins that are not yet ready for Preview, but users can subscribe to be notified when they are ready. Both Preview and GA plugins follow semantic versioning. The main differences between the two stages are: Preview plugins are still experimental and may have frequent breaking changes. Preview plugins might get deprecated due to lack of usage. Long Term Support with community Discord and bug fixes is only guaranteed for GA plugins. Premium plugins are often discounted or free during the Preview stage. |
usd_per_row | string^\d+(?:\.\d{1,10})?$ Deprecated Deprecated. Update |
free_rows_per_month | integer <int64> Deprecated Deprecated. Update |
{- "category": "cloud-infrastructure",
- "price_category": "api",
- "tier": "free",
- "display_name": "AWS Source Plugin",
- "short_description": "Sync data from AWS to any destination",
- "public": true,
- "release_stage": "coming-soon",
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000
}
{- "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,
- "minimum_cloud_version": "v1.2.3"
}
Delete plugin by team and plugin name
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
DEPRECATED. Plugin prices are now managed by category. This endpoint will be removed in the near future and currently returns only empty data.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
{- "items": [
- {
- "id": "12345678-1234-1234-1234-1234567890ab",
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000,
- "effective_from": "2024-01-02T00:00:00Z"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
DEPRECATED. Plugin prices are now managed by category. This endpoint will be removed in the near future and currently returns only empty data.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
usd_per_row required | string^\d+(?:\.\d{1,10})?$ The price per row in USD. This is used to calculate the price of a sync. |
free_rows_per_month required | integer <int64> The number of rows that can be synced for free each month. |
effective_from required | string <date-time> The date and time the price came (or will come) into effect. |
{- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000,
- "effective_from": "2024-01-02T00:00:00Z"
}
{- "id": "12345678-1234-1234-1234-1234567890ab",
- "usd_per_row": "0.0001",
- "free_rows_per_month": 1000,
- "effective_from": "2024-01-02T00:00:00Z"
}
DEPRECATED. Plugin prices are now managed by category. This endpoint will be removed in the near future and currently returns only empty data.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
{- "message": "string",
- "status": 0
}
List all versions for a given plugin
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 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_prereleases | boolean Whether to include prerelease versions |
{- "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
}
}
Get details about a given plugin version.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^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",
- "connector_required": true,
- "connector_types": [
- "string"
], - "example_config": "string",
- "ui_base_url": "string"
}
Create a new plugin version, or update a draft version
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
message required | string [ 1 .. 30000 ] characters A message describing what's new or changed in this version. This message will be displayed to users in the plugin's changelog. Supports limited markdown syntax. |
protocols required | Array of integers (PluginProtocols) Items Value: 3 The CloudQuery protocols supported by this plugin version (only protocol 3 is supported by new plugins). |
supported_targets required | Array of strings The targets supported by this plugin version, formatted as |
checksums required | Array of strings List of SHA-256 checksums for this plugin version, one for each supported target. |
package_type required | string (PluginPackageType) Enum: "native" "docker" The package type of the plugin assets |
spec_json_schema | string (PluginSpecJSONSchema) The specification of the plugin. This is a JSON schema that describes the configuration of the plugin. |
{- "message": "string",
- "protocols": [
- 3
], - "supported_targets": [
- "linux_arm64",
- "darwin_amd64",
- "windows_amd64"
], - "checksums": [
- "string"
], - "package_type": "native",
- "spec_json_schema": "string"
}
{- "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",
- "connector_required": true,
- "connector_types": [
- "string"
]
}
Update a given plugin version
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
message | string Description of what's new or changed in this version (supports markdown) |
draft | boolean If a plugin version is in draft, it will not show to members outside the team or be counted as the latest version. Once draft is set to false, only certain fields can be updated. |
retracted | boolean If a plugin version is retracted, assets will still be available for download, but the version will be marked as retracted to discourage use. |
protocols | Array of integers (PluginProtocols) Items Value: 3 The CloudQuery protocols supported by this plugin version (only protocol 3 is supported by new plugins). |
supported_targets | Array of strings |
checksums | Array of strings The SHA-256 checksums of the plugin binaries, one per supported target. |
package_type | string The package type of the plugin binaries |
spec_json_schema | string (PluginSpecJSONSchema) The specification of the plugin. This is a JSON schema that describes the configuration of the plugin. |
{- "message": "- Added support for *AWS S3* - Added support for *AWS EC2*",
- "draft": true,
- "retracted": true,
- "protocols": [
- 3
], - "supported_targets": [
- "string"
], - "checksums": [
- "string"
], - "package_type": "string",
- "spec_json_schema": "string"
}
{- "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",
- "connector_required": true,
- "connector_types": [
- "string"
]
}
List all documentation pages for a given plugin version
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^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": [
- {
- "name": "overview",
- "content": "# Getting Started\n\nThis is the getting started page."
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Create or update one or more plugin version docs pages
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
required | Array of objects (CloudQuery Plugin Documentation Page) |
{- "pages": [
- {
- "name": "overview",
- "content": "# Getting Started\n\nThis is the getting started page."
}
]
}
{- "names": [
- "overview"
]
}
Replace (override) multiple plugin version docs pages
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
required | Array of objects (CloudQuery Plugin Documentation Page) |
{- "pages": [
- {
- "name": "overview",
- "content": "# Getting Started\n\nThis is the getting started page."
}
]
}
{- "names": [
- "overview"
]
}
Delete one or more plugin version docs pages.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
names required | Array of strings (PluginDocsPageName) [^[\w,\s-]+$] |
{- "names": [
- "overview"
]
}
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
List tables for a given plugin version. This only applies to source plugins.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^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
}
}
Create or update one or more plugin version tables. This only applies to source plugins, and can only be done if the plugin version is in draft.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
required | Array of objects (CloudQuery Plugin Table) |
{- "tables": [
- {
- "description": "AWS S3 Buckets",
- "is_incremental": true,
- "name": "aws_ec2_instances",
- "parent": "nil",
- "relations": [
- "aws_s3_bucket_cors_rules"
], - "permissions_needed": [
- "storage.buckets.list"
], - "title": "AWS S3 Buckets",
- "is_paid": true,
- "columns": [
- {
- "description": "string",
- "incremental_key": true,
- "name": "string",
- "not_null": true,
- "primary_key": true,
- "type": "string",
- "type_schema": "string",
- "unique": true
}
]
}
]
}
{- "names": [
- "aws_ec2_instances"
]
}
Delete one or more plugin version tables.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
names required | Array of strings (PluginTableName) [^[a-z](_?[a-z0-9]+)+$] |
{- "names": [
- "aws_ec2_instances"
]
}
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
Get schema for a given table and plugin version. This only applies to source plugins.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^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 and target
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^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",
}
Get a URL to upload an asset for a given plugin version and target
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
target_name required | string |
{- "url": "string"
}
Get URLs to upload UI assets for a given plugin version
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
required | Array of objects (CloudQuery Plugin UI Asset Upload Request) |
{- "assets": [
- {
- "name": "scripts/main.js",
- "content_type": "application/json"
}
]
}
{- "ui_id": "string",
- "assets": [
- {
- "name": "string",
- "upload_url": "string"
}
]
}
Finalize UI asset upload
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
ui_id required | string ID representing the finished upload |
{- "ui_id": "string"
}
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
Remove UI assets for a given plugin version
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
{- "message": "string",
- "status": 0,
- "errors": [
- "string"
], - "field_errors": {
- "property1": "string",
- "property2": "string"
}
}
List all plugins for the team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
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_private | boolean Whether to include private plugins |
{- "items": [
- {
- "name": "aws-source",
- "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
}
}
Download an asset for a given plugin version as the current team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
plugin_kind required | string (PluginKind) Enum: "source" "destination" "transformer" Example: source The kind of plugin, ie. source or destination. |
plugin_name required | string (PluginName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-source The unique name for the plugin. |
version_name required | string (VersionName) ^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",
}
Get a URL to upload image that will be publicly accessible
content_type required | string (ContentType) Enum: "image/jpeg" "image/png" "image/webp" The HTTP Content-Type of the image or asset |
{- "content_type": "image/png"
}
{- "required_headers": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
List all addons
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). |
{- "items": [
- {
- "name": "aws-policies",
- "team_name": "cloudquery",
- "display_name": "AWS Policies",
- "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": "free",
- "price_usd": "50",
- "addon_type": "visualization",
- "addon_format": "zip"
}
], - "metadata": {
- "total_count": 0,
- "last_page": 0
}
}
Create an addon owned by the specified team. User must be part of that team.
team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the addon. |
category required | string (AddonCategory) Enum: "cloud-infrastructure" "databases" "sales-marketing" "engineering-analytics" "other" Supported categories for addons |
addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
addon_format required | string (AddonFormat) Value: "zip" Supported formats for addons |
tier required | string (AddonTier) Enum: "free" "paid" Supported tiers for addons |
price_usd | string^\d+(?:\.\d{1,10})?$ The price for 6 months |
short_description required | string [ 1 .. 512 ] characters |
display_name required | string [ 1 .. 50 ] characters The addon's display name |
homepage | string |
repository | string |
logo | string^https:\/\/storage\.googleapis\.com\/cq-cloud... |
public required | boolean Whether the plugin is listed in the CloudQuery Hub. If false, the plugin will not be shown in the CloudQuery Hub and will only be visible to members of the plugin's team. |
{- "team_name": "cloudquery",
- "name": "aws-policy",
- "category": "cloud-infrastructure",
- "addon_type": "transformation",
- "addon_format": "zip",
- "tier": "free",
- "price_usd": "50",
- "short_description": "AWS Asset inventory dashboard for grafana",
- "display_name": "AWS Asset inventory",