CloudQuery API Reference
CloudQuery OpenAPI Spec (1.0.0)
Download OpenAPI specification:
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://www.cloudquery.io/docs/cli/managing-cloudquery/deployments/generate-api-key.
The base URL for the API is https://api.cloudquery.io.
GetCurrentUser
Get the current authenticated user from the OAuth token
Authorizations:
bearerAuthcookieAuth
Responses
Response samples
- 200
- 401
- 403
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","id": "12345678-1234-1234-1234-1234567890ab","email": "user@example.com","name": "Sarah O'Connor","onboarded": true,"updated_at": "2017-07-14T16:53:42Z","profile_image_url": "string"
}UpdateCurrentUser
Update attributes for the current authenticated user from the OAuth token
Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
| name | string (UserName) [ 1 .. 255 ] characters ^[a-zA-Z\p{L}][a-zA-Z\p{L} \-']*$ The unique name for the user. |
| onboarded | boolean (UserOnboarded) Whether the user has completed onboarding |
Responses
Request samples
- Payload
Content type
application/json
{
"name": "Sarah O'Connor","onboarded": true
}Response samples
- 200
- 400
- 401
- 403
- 405
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","id": "12345678-1234-1234-1234-1234567890ab","email": "user@example.com","name": "Sarah O'Connor","onboarded": true,"updated_at": "2017-07-14T16:53:42Z","profile_image_url": "string"
}Response samples
- 200
- 500
Content type
application/json
{
"authenticated": true
}Request samples
- Payload
Content type
application/json
{
"id_token": "string"
}Response samples
- 400
- 401
- 403
- 404
- 405
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}Response samples
- 400
- 401
- 403
- 404
- 405
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}UserTOTPVerify
Verify a one time password for MFA
Authorizations:
bearerAuthcookieAuth
cookie Parameters
Request Body schema: application/json
Responses
Request samples
- Payload
Content type
application/json
Response samples
- 201
- 400
- 401
- 403
- 404
- 405
- 422
- 429
- 500
Content type
application/json
{
"custom_token": "string"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 422
- 500
Content type
application/json
{
"url": "string","secret": "string"
}Response samples
- 400
- 401
- 403
- 404
- 405
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ResetUserPassword
Reset user password from email
Request Body schema: application/json
| email required | |
| subdomain | string^[a-zA-Z0-9-]+$ Subdomain to use in the URL |
Responses
Request samples
- Payload
Content type
application/json
{
"email": "user@example.com","subdomain": "string"
}Response samples
- 400
- 404
- 429
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListCurrentUserInvitations
List of the current user's unaccepted invitations
Authorizations:
bearerAuthcookieAuth
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}GetCurrentUserMemberships
Get memberships that the user has accepted.
Authorizations:
bearerAuthcookieAuth
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 403
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}ListTeams
Authorizations:
bearerAuthcookieAuth
query Parameters
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}CreateTeam
Create a team owned by the current user.
Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
| name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
| display_name required | string [ 1 .. 255 ] characters |
Responses
Request samples
- Payload
Content type
application/json
{
"name": "cloudquery","display_name": "string"
}Response samples
- 201
- 400
- 401
- 403
- 422
- 500
Content type
application/json
{
"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
}GetTeamByName
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"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
}UpdateTeam
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| display_name |
Responses
Request samples
- Payload
Content type
application/json
{
"display_name": "string"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"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
}CreateTeamImages
Get URLs to upload images for a given team
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
required
required | Array of objects (Create Team Image Request) non-empty |
Responses
Request samples
- Payload
Content type
application/json
{
"images": [{"name": "string","checksum": "stringstringstringstringstringstringstri","content_type": "image/png"
}
]
}Response samples
- 201
- 401
- 403
- 404
- 500
Content type
application/json
{
"items": [{"name": "string","checksum": "string","url": "string","upload_url": "string",
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}GetTeamMemberships
Get memberships to the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}RemoveTeamMembership
Remove a user from the team
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
Responses
Request samples
- Payload
Content type
application/json
Response samples
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}DeleteTeamMembership Deprecated
Remove a user from the team
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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 |
Responses
Response samples
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListInvoicesByTeam
List all past invoices for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"items": [{"created_at": "2017-07-14T16:53:42Z","amount_due": 1000,"currency": "usd","paid": true
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}ListTeamPluginUsage
List plugin usage for the current calendar month.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}IncreaseTeamPluginUsage
Increase the usage of a plugin. This can incur billing costs and should be used only by plugin SDKs.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| 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. |
| installation_id | string^[a-z0-9]{64}$ Installation ID associated with the platform, for platform syncs. |
Responses
Request samples
- Payload
Content type
application/json
{
"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","installation_id": "string"
}Response samples
- 401
- 403
- 404
- 422
- 500
- 503
Content type
application/json
{
"message": "string","status": 0
}GetTeamPluginUsage
Get plugin usage for the current calendar month.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"plugin_team": "cloudquery","plugin_kind": "source","plugin_name": "aws-source","rows": 1000000,"usd": "43.95","remaining_usd": "56.05","remaining_rows": 1
}GetTeamUsageSummary
Get a summary of usage for the specified time range.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| metrics | Array of strings Default: "paid_rows" Items Enum: "paid_rows" "cloud_vcpu_seconds" "cloud_vram_byte_seconds" "network_egress_bytes" A list of metrics to include in the response. Each metric must be one of the predefined valid values. If not provided, only |
| start | string <date-time> A valid ISO-8601-formatted date and time, indicating the inclusive start of the query time range. Defaults to 30 days ago. |
| end | string <date-time> A valid ISO-8601-formatted date and time, indicating the exclusive end of the query time range. Defaults to the current time. |
| aggregation_period | string Default: "day" Enum: "day" "month" An aggregation period to sum data over. In other words, data will be returned at this granularity. Currently only supports day and month. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"groups": [{"name": "plugin","value": "cloudquery/source/aws"
},{"name": "plugin","value": "cloudquery/source/gcp"
}
],"values": [{"timestamp": "2021-01-01T00:00:00Z",
},{"timestamp": "2021-01-02T00:00:00Z",
}
],"metadata": {"start": "2019-08-24T14:15:22Z","end": "2019-08-24T14:15:22Z","aggregation_period": "day",
}
}GetGroupedTeamUsageSummary
Get a grouped summary of usage for the specified time range.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
query Parameters
| metrics | Array of strings Default: "paid_rows" Items Enum: "paid_rows" "cloud_vcpu_seconds" "cloud_vram_byte_seconds" "network_egress_bytes" A list of metrics to include in the response. Each metric must be one of the predefined valid values. If not provided, only |
| start | string <date-time> A valid ISO-8601-formatted date and time, indicating the inclusive start of the query time range. Defaults to 30 days ago. |
| end | string <date-time> A valid ISO-8601-formatted date and time, indicating the exclusive end of the query time range. Defaults to the current time. |
| aggregation_period | string Default: "day" Enum: "day" "month" An aggregation period to sum data over. In other words, data will be returned at this granularity. Currently only supports day and month. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"groups": [{"name": "plugin","value": "cloudquery/source/aws"
},{"name": "plugin","value": "cloudquery/source/gcp"
}
],"values": [{"timestamp": "2021-01-01T00:00:00Z",
},{"timestamp": "2021-01-02T00:00:00Z",
}
],"metadata": {"start": "2019-08-24T14:15:22Z","end": "2019-08-24T14:15:22Z","aggregation_period": "day",
}
}ListTeamInvitations
List of open invitations to the team
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 403
- 500
Content type
application/json
{
"items": [{"team_name": "cloudquery","email": "user@example.com","role": "admin","created_at": "2017-07-14T16:53:42Z"
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}EmailTeamInvitation
Invite a user to join a team with their email address
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| email required | |
| role required | string Enum: "admin" "member" |
Responses
Request samples
- Payload
Content type
application/json
{
"email": "user@example.com","role": "admin"
}Response samples
- 200
- 202
- 400
- 403
- 422
- 429
- 500
Content type
application/json
{
"team_name": "cloudquery","email": "user@example.com","role": "admin","created_at": "2017-07-14T16:53:42Z"
}DeleteTeamInvitation
Delete an invitation to the team, preventing the user becoming a team member
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| email required |
Responses
Request samples
- Payload
Content type
application/json
{
"email": "user@example.com"
}Response samples
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}AcceptTeamInvitation
Accept an invitation to the team, creating a user membership
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| token required |
Responses
Request samples
- Payload
Content type
application/json
{
"token": "b5507016-7da2-4777-a161-1e8042a6a377"
}Response samples
- 201
- 303
- 403
- 500
Content type
application/json
{
"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
}
}CancelTeamInvitation Deprecated
Cancel an invitation to the team, preventing the user becoming a team member
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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 |
Responses
Response samples
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListSubscriptionOrdersByTeam
List all subscription orders for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}CreateSubscriptionOrderForTeam
Start the checkout process for a subscription order.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
required
| 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 |
Responses
Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"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","completion_url": "http://example.com"
}GetSubscriptionOrderByTeam
Get a subscription order for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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 |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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","completion_url": "http://example.com"
}ListUsersByTeam
List all users in the current team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"items": [{"created_at": "2017-07-14T16:53:42Z","id": "12345678-1234-1234-1234-1234567890ab","email": "user@example.com","name": "Sarah O'Connor","onboarded": true,"updated_at": "2017-07-14T16:53:42Z","profile_image_url": "string"
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}ListTeamAPIKeys
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}CreateTeamAPIKey
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| name required | string (APIKeyName) [ 1 .. 255 ] characters ^(?:[a-zA-Z0-9][a-zA-Z0-9- ]*)?[a-zA-Z0-9]$ |
| expires_at required | |
| scope | string (APIKeyScope) Enum: "read-and-write" "syncs-operations-only" Scope of permissions for the API key. API keys are used for creating new plugin versions and downloading existing plugins |
Responses
Request samples
- Payload
Content type
application/json
{
"name": "cli-api-key","expires_at": "2019-08-24T14:15:22Z","scope": "read-and-write"
}Response samples
- 201
- 400
- 401
- 403
- 422
- 500
Content type
application/json
{
"name": "cli-api-key","created_by": "user@example.com","id": "12345678-1234-1234-1234-1234567890ab","key": "1234567890abcdef1234567890abcdef","created_at": "2017-07-14T16:53:42Z","expires_at": "2017-07-14T16:53:42Z","last_access_at": "2017-07-14T16:53:42Z","expired": false,"scope": "read-and-write"
}DeleteTeamAPIKey
Delete API Key. This will remove any future access by this API Key.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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 |
Responses
Response samples
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListPluginNotificationRequests
List all plugin notification requests
Authorizations:
bearerAuthcookieAuth
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}CreatePluginNotificationRequest
Create a new plugin notification request.
Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
| 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. |
Responses
Request samples
- Payload
Content type
application/json
{
"plugin_team": "cloudquery","plugin_kind": "source","plugin_name": "aws-source"
}Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"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"
}GetPluginNotificationRequest
Query plugin notification request for a given plugin.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}DeletePluginNotificationRequest
Remove plugin notification request for a given plugin.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Responses
Response samples
- 401
- 404
- 500
Content type
application/json
{
"message": "string","status": 0
}ListPlugins
query Parameters
| sort_by | string Enum: "created_at" "updated_at" "name" "downloads" |
| 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 (PluginReleaseStage) Items Enum: "coming-soon" "preview" "ga" "deprecated" Include these release stages in the response |
| exclude_release_stages | Array of strings (PluginReleaseStage) Default: "deprecated" Items Enum: "coming-soon" "preview" "ga" "deprecated" Exclude these release stages from the response |
Responses
Response samples
- 200
- 401
- 500
Content type
application/json
{
"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
}
}CreatePlugin
Create a plugin owned by the specified team. User must be part of that team.
Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
| 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 |
Responses
Request samples
- Payload
Content type
application/json
{
"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","homepage": "https://cloudquery.io","public": true,"repository": "https://github.com/cloudquery/cloudquery","release_stage": "coming-soon","usd_per_row": "0.00001","free_rows_per_month": 10000
}Response samples
- 201
- 400
- 403
- 422
- 500
Content type
application/json
{
"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","homepage": "https://cloudquery.io","display_name": "AWS Source Plugin","official": true,"release_stage": "coming-soon","repository": "https://github.com/cloudquery/cloudquery","short_description": "Sync data from AWS to any destination","tier": "free","public": true,"usd_per_row": "0.0001","free_rows_per_month": 1000
}GetPlugin
Get details about a given plugin.
path Parameters
| 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. |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"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","homepage": "https://cloudquery.io","display_name": "AWS Source Plugin","official": true,"release_stage": "coming-soon","repository": "https://github.com/cloudquery/cloudquery","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"
}UpdatePlugin
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| 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" "deprecated" 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 |
Responses
Request samples
- Payload
Content type
application/json
{
"category": "cloud-infrastructure","price_category": "api","tier": "free","display_name": "AWS Source Plugin","short_description": "Sync data from AWS to any destination","homepage": "https://cloudquery.io","repository": "https://github.com/cloudquery/cloudquery","public": true,"release_stage": "coming-soon","usd_per_row": "0.0001","free_rows_per_month": 1000
}Response samples
- 200
- 400
- 403
- 404
- 422
- 500
Content type
application/json
{
"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","homepage": "https://cloudquery.io","display_name": "AWS Source Plugin","official": true,"release_stage": "coming-soon","repository": "https://github.com/cloudquery/cloudquery","short_description": "Sync data from AWS to any destination","tier": "free","public": true,"usd_per_row": "0.0001","free_rows_per_month": 1000
}DeletePluginByTeamAndPluginName
Delete plugin by team and plugin name
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Responses
Response samples
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListPluginUpcomingPriceChanges Deprecated
DEPRECATED. Plugin prices are now managed by category. This endpoint will be removed in the near future and currently returns only empty data.
path Parameters
| 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. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}CreatePluginUpcomingPriceChange Deprecated
DEPRECATED. Plugin prices are now managed by category. This endpoint will be removed in the near future and currently returns only empty data.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| 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. |
Responses
Request samples
- Payload
Content type
application/json
{
"usd_per_row": "0.0001","free_rows_per_month": 1000,"effective_from": "2024-01-02T00:00:00Z"
}Response samples
- 201
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"id": "12345678-1234-1234-1234-1234567890ab","usd_per_row": "0.0001","free_rows_per_month": 1000,"effective_from": "2024-01-02T00:00:00Z"
}DeletePluginUpcomingPriceChanges Deprecated
DEPRECATED. Plugin prices are now managed by category. This endpoint will be removed in the near future and currently returns only empty data.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Responses
Response samples
- 401
- 403
- 404
- 500
Content type
application/json
{
"message": "string","status": 0
}ListPluginVersions
List all versions for a given plugin
path Parameters
| 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. |
query Parameters
| sort_by | string Value: "created_at" The field to sort by |
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
| include_drafts | boolean Whether to include draft versions |
| include_fips | boolean Whether to include fips versions |
| include_prereleases | boolean Whether to include prerelease versions |
| version_filter | string (VersionFilter) ^[^~]?v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(... A version filter in semantic version format with prefix ranges. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"supported_targets": ["linux_arm64","darwin_amd64","windows_amd64"
],"package_type": "native"
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}GetPluginVersion
Get details about a given plugin version.
path Parameters
| 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. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","published_at": "2017-07-14T16:53:42Z","name": "string","message": "- Added support for AWS S3 - Added support for AWS EC2","draft": true,"retracted": true,"protocols": [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","ui_base_url_v2": "string","ui_id": "afb63387-f196-483b-9a66-289f136bad88"
}CreatePluginVersion
Create a new plugin version, or update a draft version
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| 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. |
Responses
Request samples
- Payload
Content type
application/json
{
"message": "string","protocols": [3
],"supported_targets": ["linux_arm64","darwin_amd64","windows_amd64"
],"checksums": ["string"
],"package_type": "native","spec_json_schema": "string"
}Response samples
- 200
- 201
- 400
- 401
- 403
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","published_at": "2017-07-14T16:53:42Z","name": "string","message": "- Added support for AWS S3 - Added support for AWS EC2","draft": true,"retracted": true,"protocols": [3
],"supported_targets": ["linux_arm64","darwin_amd64","windows_amd64"
],"checksums": ["string"
],"package_type": "native","spec_json_schema": "string","connector_required": true,"connector_types": ["string"
]
}UpdatePluginVersion
Update a given plugin version
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| 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. |
Responses
Request samples
- Payload
Content type
application/json
{
"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"
}Response samples
- 200
- 400
- 401
- 404
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","published_at": "2017-07-14T16:53:42Z","name": "string","message": "- Added support for AWS S3 - Added support for AWS EC2","draft": true,"retracted": true,"protocols": [3
],"supported_targets": ["linux_arm64","darwin_amd64","windows_amd64"
],"checksums": ["string"
],"package_type": "native","spec_json_schema": "string","connector_required": true,"connector_types": ["string"
]
}ListPluginVersionDocs
List all documentation pages for a given plugin version
path Parameters
| 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. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"items": [{"name": "overview","content": "# Getting Started\n\nThis is the getting started page."
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}CreatePluginVersionDocs
Create or update one or more plugin version docs pages
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
required | Array of objects (CloudQuery Plugin Documentation Page) |
Responses
Request samples
- Payload
Content type
application/json
{
"pages": [{"name": "overview","content": "# Getting Started\n\nThis is the getting started page."
}
]
}Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"names": ["overview"
]
}ReplacePluginVersionDocs
Replace (override) multiple plugin version docs pages
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
required | Array of objects (CloudQuery Plugin Documentation Page) |
Responses
Request samples
- Payload
Content type
application/json
{
"pages": [{"name": "overview","content": "# Getting Started\n\nThis is the getting started page."
}
]
}Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"names": ["overview"
]
}DeletePluginVersionDocs
Delete one or more plugin version docs pages.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| names required | Array of strings (PluginDocsPageName) [ items <= 255 characters ^[\w,\s-]+$ ] |
Responses
Request samples
- Payload
Content type
application/json
{
"names": ["overview"
]
}Response samples
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListPluginVersionTables
List tables for a given plugin version. This only applies to source plugins.
path Parameters
| 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. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"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
}
}CreatePluginVersionTables
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.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
required | Array of objects (CloudQuery Plugin Table) |
Responses
Request samples
- Payload
Content type
application/json
{
"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"
],"sensitive_columns": ["secret_key"
],"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
}
]
}
]
}Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"names": ["aws_ec2_instances"
]
}DeletePluginVersionTables
Delete one or more plugin version tables.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| names required | Array of strings (PluginTableName) [ items <= 255 characters ^[a-z](_?[a-z0-9]+)+$ ] |
Responses
Request samples
- Payload
Content type
application/json
{
"names": ["aws_ec2_instances"
]
}Response samples
- 400
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}GetPluginVersionTable
Get schema for a given table and plugin version. This only applies to source plugins.
path Parameters
| 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 |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"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"
],"sensitive_columns": ["secret_key"
]
}DownloadPluginAsset
Download an asset for a given plugin version and target
path Parameters
| 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 |
header Parameters
Responses
Response samples
- 200
- 401
- 404
- 429
- 500
UploadPluginAsset
Get a URL to upload an asset for a given plugin version and target
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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 |
Responses
Response samples
- 201
- 401
- 403
- 500
Content type
application/json
UploadPluginUIAssets
Get URLs to upload UI assets for a given plugin version
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
required | Array of objects (CloudQuery Plugin UI Asset Upload Request) |
Responses
Request samples
- Payload
Content type
application/json
{
"assets": [{"name": "scripts/main.js","content_type": "application/json"
}
]
}Response samples
- 201
- 400
- 401
- 403
- 500
Content type
application/json
{
"ui_id": "string","assets": [{"name": "string","upload_url": "string"
}
]
}FinalizePluginUIAssetUpload
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Request Body schema: application/json
| ui_id required | string ID representing the finished upload |
Responses
Request samples
- Payload
Content type
application/json
Response samples
- 400
- 401
- 403
- 422
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}RemovePluginUIAssets
Remove UI assets for a given plugin version
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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. |
Responses
Response samples
- 400
- 401
- 403
- 500
Content type
application/json
{
"message": "string","status": 0,"errors": ["string"
],"field_errors": {"property1": "string","property2": "string"
}
}ListPluginsByTeam
List all plugins for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
| include_private | boolean Whether to include private plugins |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}DownloadPluginAssetByTeam
Download an asset for a given plugin version as the current team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| 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 |
header Parameters
Responses
Response samples
- 200
- 401
- 404
- 429
- 500
UploadImage
Get a URL to upload image that will be publicly accessible
Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
| content_type required | string (ContentType) Enum: "image/jpeg" "image/png" "image/webp" The HTTP Content-Type of the image or asset |
Responses
Request samples
- Payload
Content type
application/json
{
"content_type": "image/png"
}Response samples
- 200
- 500
Content type
application/json
{
"upload_url": "string","download_url": "string","required_headers": {}
}ListAddons
query Parameters
| sort_by | string Enum: "created_at" "updated_at" "name" "downloads" |
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 500
Content type
application/json
{
"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,"page_size": 0,"time_ms": 0
}
}CreateAddon
Create an addon owned by the specified team. User must be part of that team.
Authorizations:
bearerAuthcookieAuth
Request Body schema: application/json
required
| 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. |
Responses
Request samples
- Payload
Content type
application/json
{
"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","homepage": "https://cloudquery.io","repository": "https://github.com/cloudquery/cloudquery","public": true
}Response samples
- 201
- 400
- 403
- 422
- 500
Content type
application/json
{
"team_name": "cloudquery","name": "aws-policy","official": true,"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","homepage": "https://cloudquery.io","repository": "https://github.com/cloudquery/cloudquery","public": true,"created_at": "2017-07-14T16:53:42Z","updated_at": "2017-07-14T16:53:42Z"
}GetAddon
Get details about a given addon.
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
Responses
Response samples
- 200
- 401
- 404
- 500
Content type
application/json
{
"team_name": "cloudquery","name": "aws-policy","official": true,"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","homepage": "https://cloudquery.io","repository": "https://github.com/cloudquery/cloudquery","public": true,"created_at": "2017-07-14T16:53:42Z","updated_at": "2017-07-14T16:53:42Z","latest_version": "string"
}UpdateAddon
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
Request Body schema: application/json
| category | string (AddonCategory) Enum: "cloud-infrastructure" "databases" "sales-marketing" "engineering-analytics" "other" Supported categories for addons |
| addon_format | string (AddonFormat) Value: "zip" Supported formats for addons |
| tier | string (AddonTier) Enum: "free" "paid" Supported tiers for addons |
| price_usd | string^\d+(?:\.\d{1,10})?$ The price for 6 months in USD |
| short_description | string [ 1 .. 512 ] characters |
| display_name | string [ 1 .. 50 ] characters The addon's display name |
| homepage | string |
| repository | string |
| logo | string^(https:\/\/storage\.googleapis\.com\/cq-clou... |
| public | 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. |
| created_at | string <date-time> |
Responses
Request samples
- Payload
Content type
application/json
{
"category": "cloud-infrastructure","addon_format": "zip","tier": "free","price_usd": "50","short_description": "AWS Asset inventory dashboard for grafana","display_name": "AWS Asset inventory","homepage": "https://cloudquery.io","repository": "https://github.com/cloudquery/cloudquery","public": true,"created_at": "2017-07-14T16:53:42Z"
}Response samples
- 200
- 400
- 403
- 404
- 422
- 500
Content type
application/json
{
"team_name": "cloudquery","name": "aws-policy","official": true,"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","homepage": "https://cloudquery.io","repository": "https://github.com/cloudquery/cloudquery","public": true,"created_at": "2017-07-14T16:53:42Z","updated_at": "2017-07-14T16:53:42Z"
}ListAddonVersions
List all versions for a given addon
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
query Parameters
| sort_by | string Value: "created_at" |
| 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 |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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*","doc": "string","draft": true,"plugin_deps": ["string"
],"addon_deps": ["string"
],"retracted": true,"checksum": "string"
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}GetAddonVersion
Get details about a given addon version.
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
| version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","published_at": "2017-07-14T16:53:42Z","name": "string","message": "- Added support for *AWS S3* - Added support for *AWS EC2*","doc": "string","draft": true,"plugin_deps": ["string"
],"addon_deps": ["string"
],"retracted": true,"checksum": "string"
}CreateAddonVersion
Create a new addon version, or update a draft version
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
| version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
Request Body schema: application/json
| 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 addon's changelog. Supports limited markdown syntax. |
| doc required | |
| plugin_deps | Array of strings plugin dependencies in the format of ['team_name/kind/plugin_name@version'] |
| addon_deps | Array of strings addon dependencies in the format of ['team_name/type/addon_name@version'] |
| checksum required | string SHA-256 checksum for the addon asset |
Responses
Request samples
- Payload
Content type
application/json
{
"message": "string","doc": "string","plugin_deps": ["string"
],"addon_deps": ["string"
],"checksum": "string"
}Response samples
- 200
- 201
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","published_at": "2017-07-14T16:53:42Z","name": "string","message": "- Added support for *AWS S3* - Added support for *AWS EC2*","doc": "string","draft": true,"plugin_deps": ["string"
],"addon_deps": ["string"
],"retracted": true,"checksum": "string"
}UpdateAddonVersion
Update a given addon version
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
| version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
Request Body schema: application/json
| message | string Description of what's new or changed in this version (supports markdown) |
| doc | string Main README in MD format |
| 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. |
| plugin_deps | Array of strings list of plugins the addon depends on in the format of team_name/kind/name@version |
| addon_deps | Array of strings list of other addons this addon depends on in the format of team_name/type/name@version |
| 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. |
| checksum | string The checksum of the addon asset |
Responses
Request samples
- Payload
Content type
application/json
{
"message": "- Added support for *AWS S3* - Added support for *AWS EC2*","doc": "string","draft": true,"plugin_deps": ["string"
],"addon_deps": ["string"
],"retracted": true,"checksum": "string"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 500
Content type
application/json
{
"created_at": "2017-07-14T16:53:42Z","published_at": "2017-07-14T16:53:42Z","name": "string","message": "- Added support for *AWS S3* - Added support for *AWS EC2*","doc": "string","draft": true,"plugin_deps": ["string"
],"addon_deps": ["string"
],"retracted": true,"checksum": "string"
}DownloadAddonAsset
Download an asset for a given version
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
| version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
header Parameters
Responses
Response samples
- 200
- 401
- 403
- 404
- 429
- 500
UploadAddonAsset
Get a URL to upload an asset for a given addon version
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
| version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
Responses
Response samples
- 201
- 401
- 403
- 500
Content type
application/json
ListAddonsByTeam
List all addons for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
| include_private | boolean Whether to include private plugins |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"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": "AWS policies","tier": "paid","price_usd": "50","addon_type": "visualization","addon_format": "zip"
}
],"metadata": {"total_count": 0,"last_page": 0,"page_size": 0,"time_ms": 0
}
}ListAddonOrdersByTeam
List all addon orders for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
query Parameters
| page | integer <int64> >= 1 Default: 1 Page number of the results to fetch |
| per_page | integer <int64> [ 1 .. 1000 ] Default: 100 The number of results per page (max 1000). |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"items": [{"id": "12345678-1234-1234-1234-1234567890ab","team_name": "cloudquery","addon_team": "cloudquery","addon_type": "transformation","addon_name": "aws-policy","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,"page_size": 0,"time_ms": 0
}
}CreateAddonOrderForTeam
Start the checkout process for an addon order.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
required
| addon_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ The unique name for the addon. |
| success_url required | string URL to redirect to after successful order completion |
| cancel_url required | string URL to redirect to after order cancellation |
Responses
Response samples
- 201
- 400
- 401
- 404
- 500
Content type
application/json
{
"id": "12345678-1234-1234-1234-1234567890ab","team_name": "cloudquery","addon_team": "cloudquery","addon_type": "transformation","addon_name": "aws-policy","status": "pending","created_at": "2017-07-14T16:53:42Z","updated_at": "2017-07-14T16:53:42Z","completed_at": "2017-07-14T16:53:42Z","completion_url": "http://example.com"
}GetAddonOrderByTeam
Get an addon order for the team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_order_id required | string <uuid> (AddonOrderID) Example: 12345678-1234-1234-1234-1234567890ab |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
Content type
application/json
{
"id": "12345678-1234-1234-1234-1234567890ab","team_name": "cloudquery","addon_team": "cloudquery","addon_type": "transformation","addon_name": "aws-policy","status": "pending","created_at": "2017-07-14T16:53:42Z","updated_at": "2017-07-14T16:53:42Z","completed_at": "2017-07-14T16:53:42Z","completion_url": "http://example.com"
}DownloadAddonAssetByTeam
Download an asset for a given addon version as the current team.
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_team required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
| addon_type required | string (AddonType) Enum: "transformation" "visualization" Supported types for addons |
| addon_name required | string (AddonName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: aws-policy The unique name for the addon. |
| version_name required | string (VersionName) ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+(\.[0-... The version in semantic version format. |
header Parameters
Responses
Response samples
- 200
- 401
- 403
- 404
- 429
- 500
AuthRegistryRequest
Performs authentication and authorization for our image registry.
query Parameters
| account | string Username used for |
| service | string Service requesting the JWT token |
| scope | string Multi-value string containing the repository being access and the operation type (push/pull) |
header Parameters
| X-Meta-Plugin-Version | |
| X-Meta-User-Team-Name |
Responses
Response samples
- 200
- 400
- 401
- 404
- 422
- 500
Content type
application/json
{
"access_token": "string","token": "string"
}AIOnboardingChat
Send a chat message to the AI onboarding assistant
Authorizations:
bearerAuthcookieAuth
path Parameters
Request Body schema: application/json
| message | string The user's message to send to the AI assistant |
Array of objects (FunctionCallOutput) Function call outputs from previous interactions | |
| conversation_id | string Optional conversation ID to continue an existing conversation |
| chat_mode | string Enum: "web" "terminal" Optional chat mode - "web" for markdown output, "terminal" for plain text output |
Responses
Request samples
- Payload
Content type
application/json
{
"message": "string","function_call_outputs": [{"name": "string","arguments": { },"call_id": "string","output": "string"
}
],"conversation_id": "string","chat_mode": "web"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 500
Content type
application/json
{
"message": "string","function_call": "string","function_call_arguments": { },"function_call_id": "string"
}AIOnboardingNewConversation
Start a new conversation with the AI onboarding assistant
Authorizations:
bearerAuthcookieAuth
path Parameters
Request Body schema: application/json
| try_resume | boolean If true, resume existing conversation instead of starting a new one |
Responses
Request samples
- Payload
Content type
application/json
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 500
Content type
application/json
{
"conversation_id": "string"
}AIOnboardingEndConversation
End the current AI onboarding conversation
Authorizations:
bearerAuthcookieAuth
path Parameters
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 500
Content type
application/json
Response samples
- 200
Content type
application/json
GetSettings
Show current platform settings
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"enforce_mfa": false
}UpdateSettings
Authorizations:
bearerAuthcookieAuth
path Parameters
| team_name required | string (TeamName) <= 255 characters ^[a-z](-?[a-z0-9]+)+$ Example: cloudquery The unique name for the team. |
Request Body schema: application/json
| enforce_mfa | boolean Default: false Whether or not to require MFA for all users |
Responses
Request samples
- Payload
Content type
application/json
{
"enforce_mfa": false
}Response samples
- 200
- 401
- 403
- 404
- 422
- 500
Content type
application/json
{
"enforce_mfa": false
}