◐ Shell
clean mode source ↗

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.

users

GetCurrentUser

Get the current authenticated user from the OAuth token

Authorizations:

bearerAuthcookieAuth

Responses

Response samples

Content type

application/json

{

  • "created_at": "2017-07-14T16:53:42Z",

  • "id": "12345678-1234-1234-1234-1234567890ab",

  • "email": "user@example.com",

  • "name": "Sarah O'Connor",

  • "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

Content type

application/json

{

  • "name": "Sarah O'Connor",

  • "onboarded": true

}

Response samples

Content type

application/json

{

  • "created_at": "2017-07-14T16:53:42Z",

  • "id": "12345678-1234-1234-1234-1234567890ab",

  • "email": "user@example.com",

  • "name": "Sarah O'Connor",

  • "onboarded": true,

  • "updated_at": "2017-07-14T16:53:42Z",

  • "profile_image_url": "string"

}

CheckUserAuthStatus

Check if the current user is authenticated

Responses

Response samples

Content type

application/json

{

  • "authenticated": true

}

LoginUser

Start a session using ID token

Request Body schema: application/json

Responses

Request samples

Content type

application/json

{

  • "id_token": "string"

}

Response samples

Content type

application/json

{

  • "message": "string",

  • "status": 0,

  • "errors": [

    • "string"

    ],

  • "field_errors": {

    • "property1": "string",

    • "property2": "string"

    }

}

LogoutUser

Authorizations:

bearerAuthcookieAuth

Responses

Response samples

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

Content type

application/json

Response samples

Content type

application/json

{

  • "custom_token": "string"

}

UserTOTPSetup

Set up MFA for the current user

Authorizations:

bearerAuthcookieAuth

Responses

Response samples

Content type

application/json

{

  • "url": "string",

  • "secret": "string"

}

UserTOTPDelete

Disable MFA for the current user

Authorizations:

bearerAuthcookieAuth

Responses

Response samples

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

Content type

application/json

{

  • "email": "user@example.com",

  • "subdomain": "string"

}

Response samples

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

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

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

    }

}

teams

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

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

Content type

application/json

{

  • "name": "cloudquery",

  • "display_name": "string"

}

Response samples

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

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

Content type

application/json

{

  • "display_name": "string"

}

Response samples

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

Content type

application/json

{

  • "images": [

    • {

      • "name": "string",

      • "checksum": "stringstringstringstringstringstringstri",

      • "content_type": "image/png"

      }

    ]

}

Response samples

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

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

Content type

application/json

Response samples

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

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

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

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

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

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

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 paid-rows will be included.

start

string <date-time>

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

end

string <date-time>

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

aggregation_period

string

Default: "day"

Enum: "day" "month"

An aggregation period to sum data over. In other words, data will be returned at this granularity. Currently only supports day and month.

Responses

Response samples

Content type

application/json

{

  • "groups": [

    • {

      • "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. plugin and price_category groupings are only available for paid-rows.

query Parameters
metrics

Array of strings

Default: "paid_rows"

Items Enum: "paid_rows" "cloud_vcpu_seconds" "cloud_vram_byte_seconds" "network_egress_bytes"

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

start

string <date-time>

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

end

string <date-time>

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

aggregation_period

string

Default: "day"

Enum: "day" "month"

An aggregation period to sum data over. In other words, data will be returned at this granularity. Currently only supports day and month.

Responses

Response samples

Content type

application/json

{

  • "groups": [

    • {

      • "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

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

Content type

application/json

{

  • "email": "user@example.com",

  • "role": "admin"

}

Response samples

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

Content type

application/json

{

  • "email": "user@example.com"

}

Response samples

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

Content type

application/json

{

  • "token": "b5507016-7da2-4777-a161-1e8042a6a377"

}

Response samples

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

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

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

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

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

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

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

Content type

application/json

{

  • "name": "cli-api-key",

  • "expires_at": "2019-08-24T14:15:22Z",

  • "scope": "read-and-write"

}

Response samples

Content type

application/json

{

  • "name": "cli-api-key",

  • "created_by": "user@example.com",

  • "id": "12345678-1234-1234-1234-1234567890ab",

  • "key": "1234567890abcdef1234567890abcdef",

  • "created_at": "2017-07-14T16:53:42Z",

  • "expires_at": "2017-07-14T16:53:42Z",

  • "last_access_at": "2017-07-14T16:53:42Z",

  • "expired": false,

  • "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

Content type

application/json

{

  • "message": "string",

  • "status": 0,

  • "errors": [

    • "string"

    ],

  • "field_errors": {

    • "property1": "string",

    • "property2": "string"

    }

}

plugins

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

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

Content type

application/json

{

  • "plugin_team": "cloudquery",

  • "plugin_kind": "source",

  • "plugin_name": "aws-source"

}

Response samples

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

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

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

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 price_category instead. This field is only kept for backward compatibility and may be removed in a future release. Supported tiers for plugins.

  • free: Free tier, with no paid tables.
  • paid: Paid tier. These plugins may have paid tables, but can also have free tables. They require login to access.
  • open-core: This option is deprecated, values will either be free or paid.
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 price_category instead.

free_rows_per_month

integer <int64>

Deprecated

Deprecated. Use price_category instead.

Responses

Request samples

Content type

application/json

{

}

Response samples

Content type

application/json

{

}

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

Content type

application/json

{

}

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 price_category instead. This field is only kept for backward compatibility and may be removed in a future release. Supported tiers for plugins.

  • free: Free tier, with no paid tables.
  • paid: Paid tier. These plugins may have paid tables, but can also have free tables. They require login to access.
  • open-core: This option is deprecated, values will either be free or paid.
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 price_category instead.

free_rows_per_month

integer <int64>

Deprecated

Deprecated. Update price_category instead.

Responses

Request samples

Content type

application/json

{

}

Response samples

Content type

application/json

{

}

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

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

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

Content type

application/json

{

  • "usd_per_row": "0.0001",

  • "free_rows_per_month": 1000,

  • "effective_from": "2024-01-02T00:00:00Z"

}

Response samples

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

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

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

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

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

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

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

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

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

Content type

application/json

{

  • "pages": [

    • {

      • "name": "overview",

      • "content": "# Getting Started\n\nThis is the getting started page."

      }

    ]

}

Response samples

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

Content type

application/json

{

  • "pages": [

    • {

      • "name": "overview",

      • "content": "# Getting Started\n\nThis is the getting started page."

      }

    ]

}

Response samples

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

Content type

application/json

{

  • "names": [

    • "overview"

    ]

}

Response samples

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

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

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

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

Content type

application/json

{

  • "names": [

    • "aws_ec2_instances"

    ]

}

Response samples

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

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

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

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

Content type

application/json

{

  • "assets": [

    • {

      • "name": "scripts/main.js",

      • "content_type": "application/json"

      }

    ]

}

Response samples

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

Content type

application/json

Response samples

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

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

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

images

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

Content type

application/json

{

  • "content_type": "image/png"

}

Response samples

Content type

application/json

{

  • "upload_url": "string",

  • "download_url": "string",

  • "required_headers": {

    }

}

healthcheck

HealthCheck

Health check endpoint, returns 200

Responses

addons

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

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

Content type

application/json

{

}

Response samples

Content type

application/json

{

}

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

Content type

application/json

{

}

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

Content type

application/json

{

}

Response samples

Content type

application/json

{

}

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

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

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

Content type

application/json

{

  • "message": "string",

  • "doc": "string",

  • "plugin_deps": [

    • "string"

    ],

  • "addon_deps": [

    • "string"

    ],

  • "checksum": "string"

}

Response samples

Content type

application/json

{

  • "created_at": "2017-07-14T16:53:42Z",

  • "published_at": "2017-07-14T16:53:42Z",

  • "name": "string",

  • "message": "- Added support for *AWS S3* - Added support for *AWS EC2*",

  • "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

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

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

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

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

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

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

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

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

registry

AuthRegistryRequest

Performs authentication and authorization for our image registry.

query Parameters
account

string

Username used for docker login

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

Content type

application/json

{

  • "access_token": "string",

  • "token": "string"

}

managed-databases

analytics

platform

ai-onboarding

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

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

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

Content type

application/json

Response samples

Content type

application/json

{

  • "conversation_id": "string"

}

AIOnboardingEndConversation

End the current AI onboarding conversation

Authorizations:

bearerAuthcookieAuth

path Parameters

Responses

Response samples

Content type

application/json

Get OpenAPI JSON

Returns the OpenAPI definition in JSON format.

Responses

Response samples

Content type

application/json

admin

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

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

Content type

application/json

{

  • "enforce_mfa": false

}

Response samples

Content type

application/json

{

  • "enforce_mfa": false

}