List my Organizations
/api/v0/orgs- Filters:
Exclude Organizations managed as clients of my partner Organizations
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidnamepartner_pointsupdated_atcreated_atestimated_monthly_costDirection to sort the results
Defaults to:
"DESC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "stable_domain_suffix": "string", "country": "string", "billing_name": "string", "billing_email": "string", "billing_line1": "string", "billing_line2": "string", "billing_postal_code": "string", "billing_state": "string", "billing_city": "string", "billing_country": "string", "billing_status": "string", "address": "string", "brand_color": "string", "plan": "string", "brand_logo": "string", "white_label_logo": "string", "site_soft_limit": 0, "business_type": "string", "organisation_type": "string", "partner_organisation_id": 0, "flags": {}, "build_time_limit_exceeded": true, "user_limit_exceeded": true, "hosting_limit_exceeded": true, "domain_limit_exceeded": true, "last_hosting_limit_email_value": 0, "last_build_time_limit_email_value": 0, "allow_overage_charges": true, "trial_offer_enabled": true, "initial_saml_user_group_id": 0, "subscription_current_period_start": "2024-01-01T00:00:00Z", "subscription_current_period_end": "2024-01-01T00:00:00Z", "current_overage_period": {}, "additional_features": [ "string" ], "additional_build_time": 0, "additional_bandwidth": 0, "additional_domains": 0, "additional_shares": 0, "additional_custom_groups": 0, "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "cc_expires_at": "2024-01-01T00:00:00Z", "mfa_required_after": "2024-01-01T00:00:00Z", "sso_required_after": "2024-01-01T00:00:00Z", "custom_billing_active": true, "custom_billing_period": "string", "custom_contract_value": 0, "is_owner": true, "partner_points": 0, "earns_partner_points": true, "card_action_banner": "string", "payment_locked": true, "custom_billing_start_date": "string", "trial_end": "2024-01-01T00:00:00Z" } ]
Get an Organization
/api/v0/orgs/{org_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid} \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "stable_domain_suffix": "string", "country": "string", "billing_name": "string", "billing_email": "string", "billing_line1": "string", "billing_line2": "string", "billing_postal_code": "string", "billing_state": "string", "billing_city": "string", "billing_country": "string", "billing_status": "string", "address": "string", "brand_color": "string", "plan": "string", "brand_logo": "string", "white_label_logo": "string", "site_soft_limit": 0, "business_type": "string", "organisation_type": "string", "partner_organisation_id": 0, "flags": {}, "build_time_limit_exceeded": true, "user_limit_exceeded": true, "hosting_limit_exceeded": true, "domain_limit_exceeded": true, "last_hosting_limit_email_value": 0, "last_build_time_limit_email_value": 0, "allow_overage_charges": true, "trial_offer_enabled": true, "initial_saml_user_group_id": 0, "subscription_current_period_start": "2024-01-01T00:00:00Z", "subscription_current_period_end": "2024-01-01T00:00:00Z", "current_overage_period": {}, "additional_features": [ "string" ], "additional_build_time": 0, "additional_bandwidth": 0, "additional_domains": 0, "additional_shares": 0, "additional_custom_groups": 0, "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "cc_expires_at": "2024-01-01T00:00:00Z", "mfa_required_after": "2024-01-01T00:00:00Z", "sso_required_after": "2024-01-01T00:00:00Z", "custom_billing_active": true, "custom_billing_period": "string", "custom_contract_value": 0, "initial_saml_user_group_uuid": "string", "is_github_app": true, "github_account_linked": true, "github_account_is_latest": true, "github_enterprise_server_account_linked": true, "github_enterprise_server_account_is_latest": true, "gitlab_account_linked": true, "gitlab_account_is_latest": true, "self_hosted_gitlab_account_linked": true, "self_hosted_gitlab_account_is_latest": true, "bitbucket_account_linked": true, "bitbucket_account_is_latest": true, "self_hosted_gitlab_data": {}, "github_enterprise_server_data": {}, "partner_organisation": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Update an Organization
/api/v0/orgs/{org_uuid}- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid} \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "billing_name": "string", "billing_email": "string", "billing_city": "string", "billing_country": "string", "billing_line1": "string", "billing_line2": "string", "billing_postal_code": "string", "billing_state": "string", "brand_color": "string", "business_type": "string", "mfa_required_after": "2024-01-01T00:00:00Z", "sso_required_after": "2024-01-01T00:00:00Z", "flags": {} }' - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "stable_domain_suffix": "string", "country": "string", "billing_name": "string", "billing_email": "string", "billing_line1": "string", "billing_line2": "string", "billing_postal_code": "string", "billing_state": "string", "billing_city": "string", "billing_country": "string", "billing_status": "string", "address": "string", "brand_color": "string", "plan": "string", "brand_logo": "string", "white_label_logo": "string", "site_soft_limit": 0, "business_type": "string", "organisation_type": "string", "partner_organisation_id": 0, "flags": {}, "build_time_limit_exceeded": true, "user_limit_exceeded": true, "hosting_limit_exceeded": true, "domain_limit_exceeded": true, "last_hosting_limit_email_value": 0, "last_build_time_limit_email_value": 0, "allow_overage_charges": true, "trial_offer_enabled": true, "initial_saml_user_group_id": 0, "subscription_current_period_start": "2024-01-01T00:00:00Z", "subscription_current_period_end": "2024-01-01T00:00:00Z", "current_overage_period": {}, "additional_features": [ "string" ], "additional_build_time": 0, "additional_bandwidth": 0, "additional_domains": 0, "additional_shares": 0, "additional_custom_groups": 0, "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "cc_expires_at": "2024-01-01T00:00:00Z", "mfa_required_after": "2024-01-01T00:00:00Z", "sso_required_after": "2024-01-01T00:00:00Z", "custom_billing_active": true, "custom_billing_period": "string", "custom_contract_value": 0, "is_owner": true, "partner_points": 0, "earns_partner_points": true, "card_action_banner": "string", "payment_locked": true, "custom_billing_start_date": "string", "trial_end": "2024-01-01T00:00:00Z" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Download an Organization's access review as CSV
/api/v0/orgs/{org_uuid}/access-review- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/access-review \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
403Forbidden
JSONCopied to clipboard{ "error": "string" }
List an Organization's Activity
/api/v0/orgs/{org_uuid}/activity- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"happened_at"Allowed values:
iduuidupdated_athappened_atcreated_atDirection to sort the results
Defaults to:
"DESC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/activity \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "string", "id": 0, "data": "string", "identifier": "string", "identifier_data": "string", "happened_at": "2024-01-01T00:00:00Z", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "user": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "first_name": "string", "surname": "string", "email": "string", "otp_required_for_login": true }, "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Get an Organization's Build duration analytics
/api/v0/orgs/{org_uuid}/analytics/build/duration- Path parameters:
- Query parameters:
The start of the reporting period
The end of the reporting period
The interval to group results by
Allowed values:
hourlydailyweeklyThe timezone for the reporting period
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/analytics/build/duration \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "date": "2024-01-01T00:00:00Z", "duration": 0 } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get an Organization's total Build duration
/api/v0/orgs/{org_uuid}/analytics/build/duration-total- Path parameters:
- Query parameters:
The start of the reporting period
The end of the reporting period
The interval to group results by
Allowed values:
hourlydailyweeklyThe timezone for the reporting period
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/analytics/build/duration-total \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "used": 0 }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get an Organization's Hosting Bandwidth
/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth- Path parameters:
- Query parameters:
The start of the reporting period
The end of the reporting period
The interval to group results by
Allowed values:
hourlydailyweeklyThe timezone for the reporting period
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "date": "2024-01-01T00:00:00Z", "bandwidth": 0 } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get an Organization's Hosting Bandwidth per Site
/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth-by-site- Path parameters:
- Query parameters:
The start of the reporting period
The end of the reporting period
The interval to group results by
Allowed values:
hourlydailyweeklyThe timezone for the reporting period
The number of results to skip
Defaults to:
0- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth-by-site \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "site_id": 0, "host": "string", "total_bandwidth": 0, "total_requests": 0 } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get an Organization's Hosting Bandwidth per URL
/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth-by-url- Path parameters:
- Query parameters:
The start of the reporting period
The end of the reporting period
The interval to group results by
Allowed values:
hourlydailyweeklyThe timezone for the reporting period
The number of results to skip
Defaults to:
0- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth-by-url \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "url": "string", "site_id": 0, "host": "string", "total_bandwidth": 0, "total_requests": 0 } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get an Organization's total Hosting Bandwidth
/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth-total- Path parameters:
- Query parameters:
The start of the reporting period
The end of the reporting period
The interval to group results by
Allowed values:
hourlydailyweeklyThe timezone for the reporting period
Set to "upper" to include all hosting log entries
Allowed values:
upper- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/analytics/hosting/bandwidth-total \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "used": 0 }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's API Keys
/api/v0/orgs/{org_uuid}/api-keys- Path parameters:
- Filters:
Filter API Keys by name
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidnamecreated_atDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/api-keys \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "key_snippet": "string", "created_at": "2024-01-01T00:00:00Z", "group": { "permissions": [ {} ] } } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create an Organization's API Key with scoped permissions
/api/v0/orgs/{org_uuid}/api-keys- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/api-keys \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "permissions": [ { "resource": "string", "except": true, "global_scope": true, "group_scope_uuid": "string", "site_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "file_glob": "string" } ] }' - Responses:
201Created
JSONCopied to clipboard{ "key": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get an Organization's API Key
/api/v0/orgs/{org_uuid}/api-keys/{api_key_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/api-keys/{api_key_uuid} \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "key_snippet": "string", "created_at": "2024-01-01T00:00:00Z", "group": { "permissions": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "resource": "string", "global_scope": true, "group_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "site_scope_uuid": "string", "file_glob": "string", "except": true, "group_id": 0, "group_uuid": "string", "organisation_uuid": "string" } ] } }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Delete an Organization's API Key
/api/v0/orgs/{org_uuid}/api-keys/{api_key_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/api-keys/{api_key_uuid} \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }
List an Organization's Base Domains
/api/v0/orgs/{org_uuid}/base-domains- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidbase_domainauto_generate_ssl_failuresnext_ssl_generate_attempt_atDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/base-domains \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "base_domain": "string", "uses_dns": true, "auto_generate_ssl_failures": 0, "auto_generate_ssl_max_failures": 0, "next_ssl_generate_attempt_at": "2024-01-01T00:00:00Z", "ssl_generation_failing_email_sent_at": "2024-01-01T00:00:00Z", "in_cloudflare_beta": true, "cloudflare_dns_migrated": true, "cloudflare_zone_id": "string", "cloudflare_zone_create_error": "string", "cloudflare_zone_create_error_from_cloudflare": true, "mx_record": "string", "spf_record": "string", "minimum_tls_version": "string", "site_count": 0, "subdomain_count": 0, "fallback_domain": "string", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "name_server_checks": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "base_domain": "string", "base_domain_uuid": "string" } ] } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Add a Base Domain
/api/v0/orgs/{org_uuid}/base-domains- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/base-domains \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "base_domain": "string", "uses_dns": true }' - Responses:
201Created
JSONCopied to clipboard{ "base_domain": "string", "uses_dns": true, "auto_generate_ssl_failures": 0, "auto_generate_ssl_max_failures": 0, "next_ssl_generate_attempt_at": "2024-01-01T00:00:00Z", "ssl_generation_failing_email_sent_at": "2024-01-01T00:00:00Z", "in_cloudflare_beta": true, "cloudflare_dns_migrated": true, "cloudflare_zone_id": "string", "cloudflare_zone_create_error": "string", "cloudflare_zone_create_error_from_cloudflare": true, "mx_record": "string", "spf_record": "string", "minimum_tls_version": "string", "site_count": 0, "subdomain_count": 0, "fallback_domain": "string", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "name_server_checks": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "base_domain": "string", "base_domain_uuid": "string" } ] }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update an Organization's billing details
/api/v0/orgs/{org_uuid}/billing- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/billing \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "billing_name": "string", "billing_email": "string", "billing_city": "string", "billing_country": "string", "billing_line1": "string", "billing_line2": "string", "billing_postal_code": "string", "billing_state": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "stable_domain_suffix": "string", "country": "string", "billing_name": "string", "billing_email": "string", "billing_line1": "string", "billing_line2": "string", "billing_postal_code": "string", "billing_state": "string", "billing_city": "string", "billing_country": "string", "billing_status": "string", "address": "string", "brand_color": "string", "plan": "string", "brand_logo": "string", "white_label_logo": "string", "site_soft_limit": 0, "business_type": "string", "organisation_type": "string", "partner_organisation_id": 0, "flags": {}, "build_time_limit_exceeded": true, "user_limit_exceeded": true, "hosting_limit_exceeded": true, "domain_limit_exceeded": true, "last_hosting_limit_email_value": 0, "last_build_time_limit_email_value": 0, "allow_overage_charges": true, "trial_offer_enabled": true, "initial_saml_user_group_id": 0, "subscription_current_period_start": "2024-01-01T00:00:00Z", "subscription_current_period_end": "2024-01-01T00:00:00Z", "current_overage_period": {}, "additional_features": [ "string" ], "additional_build_time": 0, "additional_bandwidth": 0, "additional_domains": 0, "additional_shares": 0, "additional_custom_groups": 0, "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "cc_expires_at": "2024-01-01T00:00:00Z", "mfa_required_after": "2024-01-01T00:00:00Z", "sso_required_after": "2024-01-01T00:00:00Z", "custom_billing_active": true, "custom_billing_period": "string", "custom_contract_value": 0, "is_owner": true, "partner_points": 0, "earns_partner_points": true, "card_action_banner": "string", "payment_locked": true, "custom_billing_start_date": "string", "trial_end": "2024-01-01T00:00:00Z" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's DAMs
/api/v0/orgs/{org_uuid}/dams- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidnametypebase_urlDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/dams \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "access_key": "string", "base_url": "string", "created_at": "2024-01-01T00:00:00Z", "dam_type": "string", "name": "string", "updated_at": "2024-01-01T00:00:00Z", "max_upload_size": 0, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "config": {}, "extra_params": "string" } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Add a DAM
/api/v0/orgs/{org_uuid}/dams- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/dams \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "dam_type": "s3", "name": "string", "config": "string", "base_url": "string", "access_key": "string", "access_secret": "string", "max_upload_size": 0 }' - Responses:
201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "access_key": "string", "base_url": "string", "created_at": "2024-01-01T00:00:00Z", "dam_type": "string", "name": "string", "updated_at": "2024-01-01T00:00:00Z", "max_upload_size": 0, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "config": {}, "extra_params": "string" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's Permission Groups
/api/v0/orgs/{org_uuid}/groups- Path parameters:
- Filters:
Filter Permission Groups by name
Only include Permission Groups I'm a member of
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidnameDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/groups \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "permissions": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "resource": "string", "global_scope": true, "group_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "site_scope_uuid": "string", "file_glob": "string", "except": true, "group_id": 0, "group_uuid": "string", "organisation_uuid": "string" } ] } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a custom Permission Group with scoped permissions
/api/v0/orgs/{org_uuid}/groups- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/groups \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "permissions": [ { "resource": "string", "except": true, "global_scope": true, "group_scope_uuid": "string", "site_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "file_glob": "string" } ] }' - Responses:
201Created
JSONCopied to clipboard{ "permissions": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "resource": "string", "global_scope": true, "group_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "site_scope_uuid": "string", "file_glob": "string", "except": true, "group_id": 0, "group_uuid": "string", "organisation_uuid": "string" } ] }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's Inboxes
/api/v0/orgs/{org_uuid}/inboxes- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"name"Allowed values:
created_atupdated_atidkeynameuuidDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/inboxes \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "key": "string", "monthly_quota": 0, "keep_form_hook_days": 0, "organisation_id": 0, "captcha_type": "string", "captcha_key": "string", "captcha_secret": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "inbox_targets": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "target_type": "string", "target": "string", "validated": true, "config": {}, "inbox_uuid": "00000000-0000-0000-0000-000000000000", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" } ] } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create an Inbox
/api/v0/orgs/{org_uuid}/inboxes- Path parameters:
- Request body:
A name for the Inbox.
The Inbox's unique key.
The maximum number of submissions to accept per month.
The number of days to retain submissions.
The captcha provider's site key.
The captcha provider's secret key.
The captcha provider: google (reCAPTCHA), hcaptcha, or turnstile.
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/inboxes \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "key": "string", "monthly_quota": 0, "keep_form_hook_days": 0, "captcha_key": "string", "captcha_secret": "string", "captcha_type": "string" }' - Responses:
201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "key": "string", "monthly_quota": 0, "keep_form_hook_days": 0, "organisation_id": 0, "captcha_type": "string", "captcha_key": "string", "captcha_secret": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "inbox_targets": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "target_type": "string", "target": "string", "validated": true, "config": {}, "inbox_uuid": "00000000-0000-0000-0000-000000000000", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z" } ] }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's Members
/api/v0/orgs/{org_uuid}/members- Path parameters:
- Filters:
Filter Members by name or email
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidemailfirst_namelast_sign_in_atcreated_atDirection to sort the results
Defaults to:
"DESC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/members \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "first_name": "string", "surname": "string", "email": "string", "otp_required_for_login": true } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Get an Organization's Member or pending Member
/api/v0/orgs/{org_uuid}/members/{email}- Path parameters:
The Member or pending Member's email address
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/members/{email} \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "first_name": "string", "surname": "string", "email": "string", "otp_required_for_login": true }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Remove an Organization's Member or cancel a pending invitation
/api/v0/orgs/{org_uuid}/members/{email}- Path parameters:
The Member or pending Member's email address
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/members/{email} \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }
List an Organization's pending Members
/api/v0/orgs/{org_uuid}/pending-members- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/pending-members \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "id": 0, "uuid": "string", "first_name": "string", "surname": "string", "email": "string", "invited_by": "string", "invited_by_uuid": "string", "groups": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "creation_type": "string", "organisation_id": 0, "name": "string", "organisation_uuid": "string" } ] } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
List my Permission Groups for an Organization
/api/v0/orgs/{org_uuid}/permissions- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/permissions \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "resource": "string", "global_scope": true, "group_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "site_scope_uuid": "string", "file_glob": "string", "except": true, "group_id": 0, "group_uuid": "string", "organisation_uuid": "string" } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's Projects
/api/v0/orgs/{org_uuid}/projects- Path parameters:
- Filters:
Filter Projects by name
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidnameexternal_urlgit_repositorymain_git_branchupdated_atcreated_atlast_syncedlast_compiledlast_compiled_successproviderDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/projects \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "description": "string", "git_repository": "string", "allow_all_branching": true, "prevent_permissions_granted_on_branch": true, "main_git_branch": "string", "external_url": "string", "links": [ { "name": "string", "link": "string" } ], "provider": "string", "default_destroy_on_publish": true, "default_authentication": "string", "default_publish_mode": "string", "last_synced": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compiled_success": "2024-01-01T00:00:00Z", "auto_create_site_on_pr": true, "comment_on_pr": true, "pr_comment_skip_drafts": true, "pr_comment_footer": "string", "auto_create_skip_drafts": true, "pr_tab_visible": true, "publishing_tab_visible": true, "branches_tab_visible": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "has_default_password": true, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "main_site": { "site_name": "string", "subpath": "string", "stable_domain": "string", "ssg": "string", "last_synced": "2024-01-01T00:00:00Z", "last_output": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compressed": "2024-01-01T00:00:00Z", "last_internationalised": "2024-01-01T00:00:00Z", "last_published": "2024-01-01T00:00:00Z", "last_cleaned": "2024-01-01T00:00:00Z", "storage_provider": "string", "client_author_name": "string", "client_author_email": "string", "create_source": "string", "hosting_choice": "string", "building_locked": true, "editing_locked": true, "uploads_locked": true, "browsing_locked": true, "last_compiled_success": "2024-01-01T00:00:00Z", "preview_url": "string", "documentation_url": "string", "support_url": "string", "client_editor_route": "string", "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "mode": "string", "project_id": 0, "project_uuid": "string", "pr_number": 0, "pr_external_url": "string", "cloudcannon_config_path": "string", "output_storage_provider": "string", "base_domain": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "base_domain": "string", "uses_dns": true, "auto_generate_ssl_failures": 0, "auto_generate_ssl_max_failures": 0, "next_ssl_generate_attempt_at": "2024-01-01T00:00:00Z", "ssl_generation_failing_email_sent_at": "2024-01-01T00:00:00Z", "in_cloudflare_beta": true, "cloudflare_dns_migrated": true, "cloudflare_zone_id": "string", "cloudflare_zone_create_error": "string", "cloudflare_zone_create_error_from_cloudflare": true, "mx_record": "string", "spf_record": "string", "minimum_tls_version": "string", "cloudflare_name_servers": [], "name_servers": [], "cloudflare_dns_migration": [], "a_record": [], "cname_record": [], "txt_record": [] } } } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a Project
/api/v0/orgs/{org_uuid}/projects- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/projects \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "external_url": "string", "description": "string", "links": "string", "default_destroy_on_publish": true, "default_authentication": "string", "default_publish_mode": "string", "default_password": "string", "pr_tab_visible": true, "publishing_tab_visible": true, "branches_tab_visible": true, "git_repository": "string", "allow_all_branching": true, "prevent_permissions_granted_on_branch": true, "main_git_branch": "string", "provider": "string", "auto_create_site_on_pr": true, "auto_create_skip_drafts": true, "comment_on_pr": true, "pr_comment_skip_drafts": true, "pr_comment_footer": "string" }' - Responses:
201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "description": "string", "git_repository": "string", "allow_all_branching": true, "prevent_permissions_granted_on_branch": true, "main_git_branch": "string", "external_url": "string", "links": [ { "name": "string", "link": "string" } ], "provider": "string", "default_destroy_on_publish": true, "default_authentication": "string", "default_publish_mode": "string", "last_synced": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compiled_success": "2024-01-01T00:00:00Z", "auto_create_site_on_pr": true, "comment_on_pr": true, "pr_comment_skip_drafts": true, "pr_comment_footer": "string", "auto_create_skip_drafts": true, "pr_tab_visible": true, "publishing_tab_visible": true, "branches_tab_visible": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "has_default_password": true, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "main_site": { "site_name": "string", "subpath": "string", "stable_domain": "string", "ssg": "string", "last_synced": "2024-01-01T00:00:00Z", "last_output": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compressed": "2024-01-01T00:00:00Z", "last_internationalised": "2024-01-01T00:00:00Z", "last_published": "2024-01-01T00:00:00Z", "last_cleaned": "2024-01-01T00:00:00Z", "storage_provider": "string", "client_author_name": "string", "client_author_email": "string", "create_source": "string", "hosting_choice": "string", "building_locked": true, "editing_locked": true, "uploads_locked": true, "browsing_locked": true, "last_compiled_success": "2024-01-01T00:00:00Z", "preview_url": "string", "documentation_url": "string", "support_url": "string", "client_editor_route": "string", "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "mode": "string", "project_id": 0, "project_uuid": "string", "pr_number": 0, "pr_external_url": "string", "cloudcannon_config_path": "string", "output_storage_provider": "string", "base_domain": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "base_domain": "string", "uses_dns": true, "auto_generate_ssl_failures": 0, "auto_generate_ssl_max_failures": 0, "next_ssl_generate_attempt_at": "2024-01-01T00:00:00Z", "ssl_generation_failing_email_sent_at": "2024-01-01T00:00:00Z", "in_cloudflare_beta": true, "cloudflare_dns_migrated": true, "cloudflare_zone_id": "string", "cloudflare_zone_create_error": "string", "cloudflare_zone_create_error_from_cloudflare": true, "mx_record": "string", "spf_record": "string", "minimum_tls_version": "string", "cloudflare_name_servers": [ "string" ], "name_servers": [ "string" ], "cloudflare_dns_migration": [ {} ], "a_record": [ {} ], "cname_record": [ {} ], "txt_record": [ {} ] } } }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Git Provider's app installations
/api/v0/orgs/{org_uuid}/providers/{provider}/installations- Path parameters:
The Git Provider
Allowed values:
githubgithub_enterprise_servergitlabbitbucketself_hosted_gitlab- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/providers/{provider}/installations \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "id": 0, "app_id": 0, "single_file_name": "string", "app_slug": "string", "html_url": "string", "provider": "string", "account": { "avatar_url": "string", "login": "string", "type": "string" } } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Git Provider's repositories
/api/v0/orgs/{org_uuid}/providers/{provider}/repositories- Path parameters:
The Git Provider
Allowed values:
githubgithub_enterprise_servergitlabbitbucketself_hosted_gitlab- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/providers/{provider}/repositories \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "full_name": "string", "name": "string", "language": "string", "private": true, "avatar_url": "string", "size": 0, "permissions": { "admin": true, "push": true, "pull": true } } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a repository's branches
/api/v0/orgs/{org_uuid}/providers/{provider}/repositories/{repository}/branches- Path parameters:
The Git Provider
Allowed values:
githubgithub_enterprise_servergitlabbitbucketself_hosted_gitlabThe repository's full name
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/providers/{provider}/repositories/{repository}/branches \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "name": "string", "sha": "string", "updated_at": "2024-01-01T00:00:00Z" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Create a branch from an existing branch
/api/v0/orgs/{org_uuid}/providers/{provider}/repositories/{repository}/branches- Path parameters:
The Git Provider
Allowed values:
githubgithub_enterprise_servergitlabbitbucketself_hosted_gitlabThe repository's full name
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/providers/{provider}/repositories/{repository}/branches \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "branch_from": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "name": "string", "sha": "string", "updated_at": "2024-01-01T00:00:00Z" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's Site Mountings
/api/v0/orgs/{org_uuid}/site-mountings- Path parameters:
- Filters:
- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/site-mountings \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "string", "id": 0, "local_site_id": 0, "local_path": "string", "remote_site_id": 0, "remote_path": "string", "remote_artifact": "string", "local_site": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_name": "string", "subpath": "string", "stable_domain": "string", "ssg": "string", "last_synced": "2024-01-01T00:00:00Z", "last_output": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compressed": "2024-01-01T00:00:00Z", "last_internationalised": "2024-01-01T00:00:00Z", "last_published": "2024-01-01T00:00:00Z", "last_cleaned": "2024-01-01T00:00:00Z", "storage_provider": "string", "client_author_name": "string", "client_author_email": "string", "create_source": "string", "hosting_choice": "string", "building_locked": true, "editing_locked": true, "uploads_locked": true, "browsing_locked": true, "last_compiled_success": "2024-01-01T00:00:00Z", "preview_url": "string", "documentation_url": "string", "support_url": "string", "client_editor_route": "string", "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "mode": "string", "project_id": 0, "project_uuid": "string", "pr_number": 0, "pr_external_url": "string", "cloudcannon_config_path": "string", "output_storage_provider": "string", "domain_name": "string", "site_icon_state": "string", "sync_error": "string", "output_error": "string", "has_open_editing_session": true, "storage_provider_details": {}, "output_storage_provider_data": {}, "has_site_password": true, "has_client_password": true, "has_main_source_dam": true, "build_configuration": {} }, "remote_site": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_name": "string", "subpath": "string", "stable_domain": "string", "ssg": "string", "last_synced": "2024-01-01T00:00:00Z", "last_output": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compressed": "2024-01-01T00:00:00Z", "last_internationalised": "2024-01-01T00:00:00Z", "last_published": "2024-01-01T00:00:00Z", "last_cleaned": "2024-01-01T00:00:00Z", "storage_provider": "string", "client_author_name": "string", "client_author_email": "string", "create_source": "string", "hosting_choice": "string", "building_locked": true, "editing_locked": true, "uploads_locked": true, "browsing_locked": true, "last_compiled_success": "2024-01-01T00:00:00Z", "preview_url": "string", "documentation_url": "string", "support_url": "string", "client_editor_route": "string", "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "mode": "string", "project_id": 0, "project_uuid": "string", "pr_number": 0, "pr_external_url": "string", "cloudcannon_config_path": "string", "output_storage_provider": "string", "domain_name": "string", "site_icon_state": "string", "sync_error": "string", "output_error": "string", "has_open_editing_session": true, "storage_provider_details": {}, "output_storage_provider_data": {}, "has_site_password": true, "has_client_password": true, "has_main_source_dam": true, "build_configuration": {} } } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
List an Organization's Sites
/api/v0/orgs/{org_uuid}/sites- Path parameters:
- Filters:
Filter Sites by a search term
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidsite_namedomain_namecreated_atupdated_atlast_syncedlast_compressedlast_compiledlast_cleanedpriority_domain_atstorage_providerstable_domainsubpathsync_errorDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/sites \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_name": "string", "subpath": "string", "stable_domain": "string", "ssg": "string", "last_synced": "2024-01-01T00:00:00Z", "last_output": "2024-01-01T00:00:00Z", "last_compiled": "2024-01-01T00:00:00Z", "last_compressed": "2024-01-01T00:00:00Z", "last_internationalised": "2024-01-01T00:00:00Z", "last_published": "2024-01-01T00:00:00Z", "last_cleaned": "2024-01-01T00:00:00Z", "storage_provider": "string", "client_author_name": "string", "client_author_email": "string", "create_source": "string", "hosting_choice": "string", "building_locked": true, "editing_locked": true, "uploads_locked": true, "browsing_locked": true, "last_compiled_success": "2024-01-01T00:00:00Z", "preview_url": "string", "documentation_url": "string", "support_url": "string", "client_editor_route": "string", "active_quest": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "mode": "string", "project_id": 0, "project_uuid": "string", "pr_number": 0, "pr_external_url": "string", "cloudcannon_config_path": "string", "output_storage_provider": "string", "domain_name": "string", "site_icon_state": "string", "sync_error": "string", "output_error": "string", "has_open_editing_session": true, "storage_provider_details": {}, "output_storage_provider_data": {}, "has_site_password": true, "has_client_password": true, "has_main_source_dam": true, "build_configuration": {} } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a Site
/api/v0/orgs/{org_uuid}/sites- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/sites \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "site_name": "string", "editing_locked": true, "active_quest": "string", "cloudcannon_config_path": "string", "stable_domain": "string", "flags": {} }' - Responses:
201Created
JSONCopied to clipboard{ "auto_generate_ssl": true, "authentication": "string", "default_locale": "string", "uses_i18n": true, "geolocation": true, "serve_extensionless": true, "flags": {}, "force_extensionless": true, "force_ssl": true, "keep_form_hook_days": 0, "needs_clean": true, "automatic_builds_state": "string", "publish_mode": "string", "destroy_on_publish": true, "priority_domain_at": "2024-01-01T00:00:00Z", "prevent_client_password_save": true, "recaptcha_key": "string", "recaptcha_secret": "string", "saml_data": "string", "compiler_order": [ "string" ], "base_domain_id": 0, "latest_hosted_build_id": 0, "ssl_certificate_id": 0, "main_source_dam": "string", "editor_group_uuid": "00000000-0000-0000-0000-000000000000", "technical_editor_group_uuid": "00000000-0000-0000-0000-000000000000", "client_share_group_uuid": "00000000-0000-0000-0000-000000000000", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "base_domain_uuid": "00000000-0000-0000-0000-000000000000", "cloudflare_hostname_uuid": "00000000-0000-0000-0000-000000000000", "latest_hosted_build_uuid": "00000000-0000-0000-0000-000000000000", "pending_transfer_request_uuid": "00000000-0000-0000-0000-000000000000", "site_inboxes": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "default_inbox": true, "site_id": 0, "inbox_uuid": "string", "visible": true, "require_captcha": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000", "inbox": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "key": "string", "monthly_quota": 0, "keep_form_hook_days": 0, "organisation_id": 0, "captcha_type": "string", "captcha_key": "string", "captcha_secret": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "inbox_targets": [] } } ], "base_domain": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "base_domain": "string", "uses_dns": true, "auto_generate_ssl_failures": 0, "auto_generate_ssl_max_failures": 0, "next_ssl_generate_attempt_at": "2024-01-01T00:00:00Z", "ssl_generation_failing_email_sent_at": "2024-01-01T00:00:00Z", "in_cloudflare_beta": true, "cloudflare_dns_migrated": true, "cloudflare_zone_id": "string", "cloudflare_zone_create_error": "string", "cloudflare_zone_create_error_from_cloudflare": true, "mx_record": "string", "spf_record": "string", "minimum_tls_version": "string", "cloudflare_name_servers": [ "string" ], "name_servers": [ "string" ], "cloudflare_dns_migration": [ {} ], "a_record": [ { "subdomain": "string", "target": "string" } ], "cname_record": [ { "subdomain": "string", "target": "string" } ], "txt_record": [ { "subdomain": "string", "target": "string" } ] }, "site_dams": [ { "uuid": "string", "id": 0, "site_id": 0, "dam_uuid": "string", "config": {}, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "uploads_locked": true, "reference_key": "string", "site_uuid": "00000000-0000-0000-0000-000000000000", "dam": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "access_key": "string", "base_url": "string", "created_at": "2024-01-01T00:00:00Z", "dam_type": "string", "name": "string", "updated_at": "2024-01-01T00:00:00Z", "max_upload_size": 0, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "config": {}, "extra_params": "string" } } ] }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Create a Site by copying a repository, without connecting Git
/api/v0/orgs/{org_uuid}/sites/connect- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/sites/connect \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "provider": "string", "repo": "string", "branch": "string", "folder": "string", "site_name": "string", "editing_locked": true, "active_quest": "string", "cloudcannon_config_path": "string", "stable_domain": "string", "flags": {} }' - Responses:
201Created
JSONCopied to clipboard{ "auto_generate_ssl": true, "authentication": "string", "default_locale": "string", "uses_i18n": true, "geolocation": true, "serve_extensionless": true, "flags": {}, "force_extensionless": true, "force_ssl": true, "keep_form_hook_days": 0, "needs_clean": true, "automatic_builds_state": "string", "publish_mode": "string", "destroy_on_publish": true, "priority_domain_at": "2024-01-01T00:00:00Z", "prevent_client_password_save": true, "recaptcha_key": "string", "recaptcha_secret": "string", "saml_data": "string", "compiler_order": [ "string" ], "base_domain_id": 0, "latest_hosted_build_id": 0, "ssl_certificate_id": 0, "main_source_dam": "string", "editor_group_uuid": "00000000-0000-0000-0000-000000000000", "technical_editor_group_uuid": "00000000-0000-0000-0000-000000000000", "client_share_group_uuid": "00000000-0000-0000-0000-000000000000", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "base_domain_uuid": "00000000-0000-0000-0000-000000000000", "cloudflare_hostname_uuid": "00000000-0000-0000-0000-000000000000", "latest_hosted_build_uuid": "00000000-0000-0000-0000-000000000000", "pending_transfer_request_uuid": "00000000-0000-0000-0000-000000000000", "site_inboxes": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "default_inbox": true, "site_id": 0, "inbox_uuid": "string", "visible": true, "require_captcha": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000", "inbox": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "key": "string", "monthly_quota": 0, "keep_form_hook_days": 0, "organisation_id": 0, "captcha_type": "string", "captcha_key": "string", "captcha_secret": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "organisation_uuid": "00000000-0000-0000-0000-000000000000", "inbox_targets": [] } } ], "base_domain": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "base_domain": "string", "uses_dns": true, "auto_generate_ssl_failures": 0, "auto_generate_ssl_max_failures": 0, "next_ssl_generate_attempt_at": "2024-01-01T00:00:00Z", "ssl_generation_failing_email_sent_at": "2024-01-01T00:00:00Z", "in_cloudflare_beta": true, "cloudflare_dns_migrated": true, "cloudflare_zone_id": "string", "cloudflare_zone_create_error": "string", "cloudflare_zone_create_error_from_cloudflare": true, "mx_record": "string", "spf_record": "string", "minimum_tls_version": "string", "cloudflare_name_servers": [ "string" ], "name_servers": [ "string" ], "cloudflare_dns_migration": [ {} ], "a_record": [ { "subdomain": "string", "target": "string" } ], "cname_record": [ { "subdomain": "string", "target": "string" } ], "txt_record": [ { "subdomain": "string", "target": "string" } ] }, "site_dams": [ { "uuid": "string", "id": 0, "site_id": 0, "dam_uuid": "string", "config": {}, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "uploads_locked": true, "reference_key": "string", "site_uuid": "00000000-0000-0000-0000-000000000000", "dam": { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "access_key": "string", "base_url": "string", "created_at": "2024-01-01T00:00:00Z", "dam_type": "string", "name": "string", "updated_at": "2024-01-01T00:00:00Z", "max_upload_size": 0, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "config": {}, "extra_params": "string" } } ] }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List an Organization's SSL Certificates
/api/v0/orgs/{org_uuid}/ssl-certificates- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidnameexpires_atcreated_atDirection to sort the results
Defaults to:
"ASC"Allowed values:
ASCDESC- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/ssl-certificates \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "autorenew": true, "expires_at": "2024-01-01T00:00:00Z", "cloudflare_id": "string", "cloudflare_data": {}, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "sites": "string" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create an SSL Certificate
/api/v0/orgs/{org_uuid}/ssl-certificates- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/ssl-certificates \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "expires_at": "2024-01-01T00:00:00Z", "crt": "string", "key": "string", "chain": "string", "autorenew": true, "cipher": "string" }' - Responses:
201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "autorenew": true, "expires_at": "2024-01-01T00:00:00Z", "cloudflare_id": "string", "cloudflare_data": {}, "organisation_uuid": "00000000-0000-0000-0000-000000000000", "sites": "string" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
View an Organization's Badge
/api/v0/orgs/{org_uuid}/whitelabel- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/whitelabel \ -H "X-API-KEY: <your-api-key>" - Responses:
204Not present
307Redirect
402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }
View an Organization's Sites Browser Logo
/api/v0/orgs/{org_uuid}/whitelabel/brand- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/orgs/{org_uuid}/whitelabel/brand \ -H "X-API-KEY: <your-api-key>" - Responses:
204Not present
307Redirect
402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }