Get a Site's details
/api/v0/sites/{site_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid} \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Update a Site's details
/api/v0/sites/{site_uuid}- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid} \ -X PUT \ -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", "flags": {} }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Delete a Site
/api/v0/sites/{site_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid} \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Activity
/api/v0/sites/{site_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/sites/{site_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 a Site's Build duration analytics
/api/v0/sites/{site_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/sites/{site_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 a Site's Hosting Bandwidth
/api/v0/sites/{site_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/sites/{site_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 a Site's Hosting Bandwidth per URL
/api/v0/sites/{site_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/sites/{site_uuid}/analytics/hosting/bandwidth-by-url \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "url": "string", "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 a Site's Hosting Bandwidth for a single URL
/api/v0/sites/{site_uuid}/analytics/hosting/bandwidth-for-url- Path parameters:
- Query parameters:
The URL to report bandwidth for
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/sites/{site_uuid}/analytics/hosting/bandwidth-for-url \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "total_bandwidth": 0, "total_requests": 0 }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Backups
/api/v0/sites/{site_uuid}/archives- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidcreated_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/sites/{site_uuid}/archives \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "path": "string", "size": 0, "exclude_git": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a Backup
/api/v0/sites/{site_uuid}/archives- Path parameters:
- Request body:
Exclude Git history from the Backup
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/archives \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "exclude_git": true }' - Responses:
201Created
JSONCopied to clipboard{ "socket_message_id": "string" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's authentication method
/api/v0/sites/{site_uuid}/authentication- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/authentication \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "authentication": "string" }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Bearer Tokens
/api/v0/sites/{site_uuid}/authentication/bearer-tokens- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidDirection 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/sites/{site_uuid}/authentication/bearer-tokens \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "obscured_token": "string", "created_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a Bearer Token
/api/v0/sites/{site_uuid}/authentication/bearer-tokens- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/authentication/bearer-tokens \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }' - Responses:
201Created
JSONCopied to clipboard{ "token": "string" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's Client Sharing password
/api/v0/sites/{site_uuid}/authentication/client-password- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/authentication/client-password \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "password": "string", "accept_billing_increase": true }' - Responses:
200OK
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": {} }
Update a Site's SAML configuration
/api/v0/sites/{site_uuid}/authentication/saml- Path parameters:
- Request body:
The Site's SAML authentication configuration
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/authentication/saml \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "saml_data": "string" }' - Responses:
200OK
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": {} }
Update a Site's authentication password
/api/v0/sites/{site_uuid}/authentication/stable-password- Path parameters:
- Request body:
The authentication password. Leave blank to remove it.
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/authentication/stable-password \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "stable_password": "string" }' - Responses:
200OK
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 a Site's Account Authentication users
/api/v0/sites/{site_uuid}/authentication/users- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"id"Allowed values:
iduuidDirection 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/sites/{site_uuid}/authentication/users \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "email": "string", "has_password": true, "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Add an allowed user to a Site's Account Authentication
/api/v0/sites/{site_uuid}/authentication/users- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/authentication/users \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "email": "string" }' - Responses:
201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "email": "string", "has_password": true, "site_uuid": "00000000-0000-0000-0000-000000000000" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's build configuration
/api/v0/sites/{site_uuid}/build- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/build \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "default_locale": "string", "uses_i18n": true, "building_locked": true, "ssg": "string", "build_configuration": "string" }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Builds
/api/v0/sites/{site_uuid}/builds- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidcreated_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/sites/{site_uuid}/builds \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "successful": true, "site_id": 0, "completed_at": "2024-01-01T00:00:00Z", "metadata": {}, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "pinnable": true, "parent_build_uuid": "00000000-0000-0000-0000-000000000000", "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Start a Build for a Site
/api/v0/sites/{site_uuid}/builds- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/builds \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
204No Content
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Cancel a Site's current Build
/api/v0/sites/{site_uuid}/builds- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/builds \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204canceled
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Update a Site's Client Sharing configuration
/api/v0/sites/{site_uuid}/client-sharing- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/client-sharing \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "client_editor_route": "string", "prevent_client_password_save": true, "client_author_name": "string", "client_author_email": "string", "preview_url": "string", "documentation_url": "string", "support_url": "string", "flags": {} }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Copy a Site
/api/v0/sites/{site_uuid}/copy- Path parameters:
- Request body:
The branch to use for the copied Site
Set the copied Site's Publish Branch to the source Site's branch
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/copy \ -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": {}, "publish_mode": "string", "destroy_on_publish": true, "branch": "string", "publish_branch": true }' - Responses:
200OK
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" } } ] }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's DAM configuration
/api/v0/sites/{site_uuid}/dam- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/dam \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "uploads_locked": true, "browsing_locked": true }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's DAMs
/api/v0/sites/{site_uuid}/dams- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/dams \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "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" } } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Connect a DAM to a Site
/api/v0/sites/{site_uuid}/dams- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/dams \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "dam_uuid": "string", "uploads_locked": true, "config": {}, "reference_key": "string" }' - Responses:
201Created
JSONCopied to clipboard{ "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": {} }
Update a Site's Custom Domain
/api/v0/sites/{site_uuid}/domain- Path parameters:
- Request body:
The Custom Domain for the Site. Leave blank to remove it.
An optional subpath under the domain where the Site is served.
Accept any billing increase. Without this, the request will fail if you exceed the number of domains in your Subscription Plan.
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/domain \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "domain_name": "string", "subpath": "string", "accept_billing_increase": true }' - Responses:
200OK
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" }402PaymentConfirmRequired
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Set a Site as the fallback redirect for its Base Domain
/api/v0/sites/{site_uuid}/domain/prioritise- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/domain/prioritise \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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 a Site's Editing Sessions
/api/v0/sites/{site_uuid}/editing_sessions- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/editing_sessions \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_id": 0, "build_id": 0, "state": "string", "base_commit_hash": "string", "upstream_commit_hash": "string", "syncs_blocked": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000", "build_uuid": "00000000-0000-0000-0000-000000000000", "files": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "editing_session_uuid": "string", "edit_type": "string", "source_path": "string", "path": "string", "sync_blocked": true, "has_conflict": true, "unchanged": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "metadata": {}, "contributions": [] } ] } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create an Editing Session for a Site
/api/v0/sites/{site_uuid}/editing_sessions- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/editing_sessions \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_id": 0, "build_id": 0, "state": "string", "base_commit_hash": "string", "upstream_commit_hash": "string", "syncs_blocked": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000", "build_uuid": "00000000-0000-0000-0000-000000000000", "files": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "editing_session_uuid": "string", "edit_type": "string", "source_path": "string", "path": "string", "sync_blocked": true, "has_conflict": true, "unchanged": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "metadata": {}, "contributions": [ {} ] } ] }201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_id": 0, "build_id": 0, "state": "string", "base_commit_hash": "string", "upstream_commit_hash": "string", "syncs_blocked": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000", "build_uuid": "00000000-0000-0000-0000-000000000000", "files": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "editing_session_uuid": "string", "edit_type": "string", "source_path": "string", "path": "string", "sync_blocked": true, "has_conflict": true, "unchanged": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "metadata": {}, "contributions": [ {} ] } ] }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a Site's latest open Editing Session
/api/v0/sites/{site_uuid}/editing_sessions/latest- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/editing_sessions/latest \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "site_id": 0, "build_id": 0, "state": "string", "base_commit_hash": "string", "upstream_commit_hash": "string", "syncs_blocked": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000", "build_uuid": "00000000-0000-0000-0000-000000000000", "files": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "editing_session_uuid": "string", "edit_type": "string", "source_path": "string", "path": "string", "sync_blocked": true, "has_conflict": true, "unchanged": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "metadata": {}, "contributions": [ {} ] } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }
List a Site's files
/api/v0/sites/{site_uuid}/files- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/files \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "md5": "string", "s3Path": "string", "sitePath": "string" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Get a file from a Site
/api/v0/sites/{site_uuid}/files/{path}- Path parameters:
The path to the file within the Site
- Query parameters:
Set to true to download the file instead of viewing it
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/files/{path} \ -H "X-API-KEY: <your-api-key>" - Responses:
307Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }404Not Found
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a Site file's metadata
/api/v0/sites/{site_uuid}/files/{path}/metadata- Path parameters:
The path to the file within the Site
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/files/{path}/metadata \ -H "X-API-KEY: <your-api-key>" - Responses:
303Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
View a resized image from a Site
/api/v0/sites/{site_uuid}/files/{path}/resized- Path parameters:
The path to the file within the Site
- Query parameters:
The width to resize the image to, in pixels
The height to resize the image to, in pixels
The content type to return the image as
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/files/{path}/resized \ -H "X-API-KEY: <your-api-key>" - Responses:
307Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a Site file's sorting
/api/v0/sites/{site_uuid}/files/{path}/sorting- Path parameters:
The path to the file within the Site
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/files/{path}/sorting \ -H "X-API-KEY: <your-api-key>" - Responses:
303Redirect
307Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Complete a ZIP file upload
/api/v0/sites/{site_uuid}/files/zip- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/files/zip \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "zip": { "key": "string", "checksum": "string", "type": "string" } }' - Responses:
200OK
JSONCopied to clipboard{ "socket_message_id": "string" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Form Hooks
/api/v0/sites/{site_uuid}/form-hooks- Path parameters:
- Filters:
Filter Form Hooks by category
Allowed values:
spamsenterroredpending- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
last_sent_atcreated_atiduuidDirection 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/sites/{site_uuid}/form-hooks \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "sent": true, "recaptcha": true, "ip": "string", "host": "string", "data": {}, "timings": {}, "error": "string", "explicitly_marked_status": "no_mark", "automatically_marked_spam": true, "last_sent_at": "2024-01-01T00:00:00Z", "cleared_at": "2024-01-01T00:00:00Z", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "inbox_uuid": "string", "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Update a Site's hosting configuration
/api/v0/sites/{site_uuid}/hosting- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/hosting \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "hosting_choice": "string", "geolocation": true, "force_ssl": true, "auto_generate_ssl": true, "serve_extensionless": true, "force_extensionless": true, "ssl_certificate_id": 0, "mode": "string" }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Inboxes
/api/v0/sites/{site_uuid}/inboxes- Path parameters:
- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/inboxes \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "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": [ {} ] } } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Connect an Inbox to a Site
/api/v0/sites/{site_uuid}/inboxes- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/inboxes \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "inbox_uuid": "string", "default_inbox": true, "visible": true, "require_captcha": true }' - Responses:
201Created
JSONCopied to clipboard{ "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": [ { "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": {} }
Get the DAM a Site uses for relative asset paths
/api/v0/sites/{site_uuid}/main_source_dam- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/main_source_dam \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Set which DAM a Site uses for relative asset paths
/api/v0/sites/{site_uuid}/main_source_dam- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/main_source_dam \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "uuid": "00000000-0000-0000-0000-000000000000" }' - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List Site Sharing Members
/api/v0/sites/{site_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/sites/{site_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" }
Move a Site Sharing Member to a different Permission Group
/api/v0/sites/{site_uuid}/members/{email}- Path parameters:
The Member or pending Member's email address
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/members/{email} \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "group_uuid": "00000000-0000-0000-0000-000000000000" }' - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "group_id": 0, "user_id": 0, "group_uuid": "string", "user_uuid": "string", "user": { "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" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Remove a Site Sharing Member or cancel a pending invitation
/api/v0/sites/{site_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/sites/{site_uuid}/members/{email} \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }
Add a Build Deploy to a Site
/api/v0/sites/{site_uuid}/output-providers- Path parameters:
- Request body:
Allowed values:
githubgithub_enterprise_serverbitbucketgitlabself_hosted_gitlabftp- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/output-providers \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "storage_provider": "github", "custom_data": { "full_name": "string", "branch": "string", "hostname": "string", "port": 0, "username": "string", "password": "string", "path": "string", "ignorePermissions": true, "step": "string", "webhook_id": "string", "exclusions": [ "string" ] } }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's Build Deploy
/api/v0/sites/{site_uuid}/output-providers- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/output-providers \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "custom_data": {} }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Remove a Site's Build Deploy
/api/v0/sites/{site_uuid}/output-providers- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/output-providers \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Trigger a Site's Build Deploy
/api/v0/sites/{site_uuid}/output-providers/sync- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/output-providers/sync \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "socket_message_id": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Build Deploys
/api/v0/sites/{site_uuid}/outputs- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidcreated_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/sites/{site_uuid}/outputs \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "successful": true, "identifier": "string", "after_identifier": "string", "diff_id": "string", "completed_at": "2024-01-01T00:00:00Z", "provider": "string", "provider_data": {}, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
List pending Site Sharing Members
/api/v0/sites/{site_uuid}/pending-members- Path parameters:
- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/pending-members \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "email": "string", "organisation_uuid": "string", "group": { "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" }
Connect a Site to a Git Provider
/api/v0/sites/{site_uuid}/providers- Path parameters:
- Request body:
The Git Provider to connect
Allowed values:
githubgithub_enterprise_serverbitbucketgitlabself_hosted_gitlabThe branch to sync the Site's files from
The repository's full name, e.g. org/repo
The ID of the webhook created on the repository
Enable Git LFS for the repository
When a Site is branched, the branched Site gets a copy of its build files. This option disables that behavior.
The branch to publish changes to
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "storage_provider": "github", "custom_data": { "branch": "string", "full_name": "string", "webhook_id": "string", "lfsEnabled": true, "fast_compile_disabled": true, "publish_branch": "string" } }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's Git Provider settings
/api/v0/sites/{site_uuid}/providers- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "custom_data": { "full_name": "string", "branch": "string" } }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Remove a Site's Git Provider
/api/v0/sites/{site_uuid}/providers- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's branches
/api/v0/sites/{site_uuid}/providers/branches- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "name": "string", "sha": "string", "updated_at": "2024-01-01T00:00:00Z" } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a branch from a Site's editing branch
/api/v0/sites/{site_uuid}/providers/branches- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "name": "string", "sha": "string", "updated_at": "2024-01-01T00:00:00Z" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Merge a Site's changes into its publish branch
/api/v0/sites/{site_uuid}/providers/branches/merge- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches/merge \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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" } } ] }204Deleted. Used when site is deleted after a successful merge.
402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Set a Site's publish branch
/api/v0/sites/{site_uuid}/providers/branches/publish- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches/publish \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "branch": "string" }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Compare a Site's changes waiting to be published
/api/v0/sites/{site_uuid}/providers/branches/publish/compare- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches/publish/compare \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "status": "string", "ahead_by": 0, "behind_by": 0, "total_commits": 0, "commits": [ { "sha": "string", "html_url": "string", "commit": { "message": "string", "author": {}, "committer": {} } } ], "files": [ { "sha": "string", "filename": "string", "status": "string", "additions": 0, "deletions": 0, "changes": 0 } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Compare upstream changes waiting to be pulled into a Site
/api/v0/sites/{site_uuid}/providers/branches/publish/upstream-compare- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches/publish/upstream-compare \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "status": "string", "ahead_by": 0, "behind_by": 0, "total_commits": 0, "commits": [ { "sha": "string", "html_url": "string", "commit": { "message": "string", "author": {}, "committer": {} } } ], "files": [ { "sha": "string", "filename": "string", "status": "string", "additions": 0, "deletions": 0, "changes": 0 } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Merge upstream changes into a Site's editing branch
/api/v0/sites/{site_uuid}/providers/branches/upstream-merge- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/branches/upstream-merge \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List open Pull Requests into the Site's Publish Branch
/api/v0/sites/{site_uuid}/providers/pull-requests- Path parameters:
- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/pull-requests \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "number": 0, "state": "string", "title": "string", "body": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "closed_at": "2024-01-01T00:00:00Z", "merged_at": "2024-01-01T00:00:00Z", "locked": true, "draft": true, "head": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "base": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "is_external_contributor": true } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Create a Pull Request into the Site's Publish Branch
/api/v0/sites/{site_uuid}/providers/pull-requests- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/pull-requests \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "title": "string", "body": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "number": 0, "state": "string", "title": "string", "body": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "closed_at": "2024-01-01T00:00:00Z", "merged_at": "2024-01-01T00:00:00Z", "locked": true, "draft": true, "head": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "base": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "is_external_contributor": true }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a Pull Request's details
/api/v0/sites/{site_uuid}/providers/pull-requests/{number}- Path parameters:
The Pull Request's number
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/pull-requests/{number} \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "number": 0, "state": "string", "title": "string", "body": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "closed_at": "2024-01-01T00:00:00Z", "merged_at": "2024-01-01T00:00:00Z", "locked": true, "draft": true, "head": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "base": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "is_external_contributor": true }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Close a Pull Request
/api/v0/sites/{site_uuid}/providers/pull-requests/{number}- Path parameters:
The Pull Request's number
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/pull-requests/{number} \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "number": 0, "state": "string", "title": "string", "body": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "closed_at": "2024-01-01T00:00:00Z", "merged_at": "2024-01-01T00:00:00Z", "locked": true, "draft": true, "head": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "base": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "is_external_contributor": true }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Pull Request's commits
/api/v0/sites/{site_uuid}/providers/pull-requests/{number}/commits- Path parameters:
The Pull Request's number
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/pull-requests/{number}/commits \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "sha": "string", "html_url": "string", "commit": { "message": "string", "author": { "name": "string", "email": "string", "date": "2024-01-01T00:00:00Z" }, "committer": { "name": "string", "email": "string", "date": "2024-01-01T00:00:00Z" } } } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Merge a Pull Request
/api/v0/sites/{site_uuid}/providers/pull-requests/{number}/merge- Path parameters:
The Pull Request's number
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/pull-requests/{number}/merge \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "commit_message": "string", "type": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "socket_message_id": "string" }204Merged
402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Reconnect a Site's Git Provider
/api/v0/sites/{site_uuid}/providers/reconnect- Path parameters:
- Request body:
Reset all files from the Git Provider instead of syncing changes
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/reconnect \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "forced": true }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Sync a Site with its Git Provider
/api/v0/sites/{site_uuid}/providers/sync- Path parameters:
- Request body:
Sync direction: push local changes to the Git Provider, or pull provider changes to the Site
Allowed values:
pushpull- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/sync \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "type": "push" }' - Responses:
200OK
JSONCopied to clipboard{ "socket_message_id": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List open Pull Requests from the Site's Publish Branch
/api/v0/sites/{site_uuid}/providers/upstream-pull-requests- Path parameters:
- Pagination:
Page number to fetch (1-indexed)
Number of items per page
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/upstream-pull-requests \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "number": 0, "state": "string", "title": "string", "body": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "closed_at": "2024-01-01T00:00:00Z", "merged_at": "2024-01-01T00:00:00Z", "locked": true, "draft": true, "head": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "base": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "is_external_contributor": true } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Create a Pull Request from the Site's Publish Branch
/api/v0/sites/{site_uuid}/providers/upstream-pull-requests- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/providers/upstream-pull-requests \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "title": "string", "body": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "number": 0, "state": "string", "title": "string", "body": "string", "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "closed_at": "2024-01-01T00:00:00Z", "merged_at": "2024-01-01T00:00:00Z", "locked": true, "draft": true, "head": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "base": { "ref": "string", "sha": "string", "repo": { "name": "string", "full_name": "string" } }, "is_external_contributor": true }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's publish method
/api/v0/sites/{site_uuid}/publish- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/publish \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "publish_mode": "string", "destroy_on_publish": true }' - Responses:
200OK
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" } } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a Site's scan details
/api/v0/sites/{site_uuid}/scans- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/scans \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "files": 0, "html_files": 0, "css_files": 0, "image_files": 0, "js_files": 0, "other_files": 0, "editable_class": 0, "repeatable_class": 0, "blog_posts": 0, "draft_posts": 0, "data_files": 0, "layouts": 0, "includes": 0, "old_includes": 0, "cc_contact_form": 0, "scanner_run_at": "2024-01-01T00:00:00Z", "config_yml_file": true, "total_size": 0, "collections": 0, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "ruby_version": "string", "array_editables": 0, "component_editables": 0, "source_editables": 0, "text_editables": 0, "image_editables": 0, "missing_links": 0, "site_uuid": "00000000-0000-0000-0000-000000000000" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
List a Site's Scheduled Builds
/api/v0/sites/{site_uuid}/scheduled-builds- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidcreated_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/sites/{site_uuid}/scheduled-builds \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "filename": "string", "run_date": "2024-01-01T00:00:00Z", "period": 0, "from_source": true, "scheduled_at": "2024-01-01T00:00:00Z", "run_count": 0, "site_uuid": "00000000-0000-0000-0000-000000000000" } ]403Forbidden
JSONCopied to clipboard{ "error": "string" }
Create a Scheduled Build
/api/v0/sites/{site_uuid}/scheduled-builds- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/scheduled-builds \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "period": 0, "run_date": "2024-01-01T00:00:00Z" }' - Responses:
201Created
JSONCopied to clipboard{ "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "filename": "string", "run_date": "2024-01-01T00:00:00Z", "period": 0, "from_source": true, "scheduled_at": "2024-01-01T00:00:00Z", "run_count": 0, "site_uuid": "00000000-0000-0000-0000-000000000000" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a presigned S3 URL for a Site's screenshot hashes
/api/v0/sites/{site_uuid}/screenshots- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/screenshots \ -H "X-API-KEY: <your-api-key>" - Responses:
303Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
View a Site's screenshot
/api/v0/sites/{site_uuid}/screenshots/{device}- Path parameters:
The device viewport to render: mobile or desktop
- Query parameters:
The page path to screenshot
The width of the screenshot, in pixels
The height of the screenshot, in pixels
The Build to screenshot
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/screenshots/{device} \ -H "X-API-KEY: <your-api-key>" - Responses:
307Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }404Not Found
JSONCopied to clipboard{ "error": "string" }
Get a Site's Lighthouse report
/api/v0/sites/{site_uuid}/screenshots/lighthouse- Path parameters:
- Query parameters:
The page path to report on
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/screenshots/lighthouse \ -H "X-API-KEY: <your-api-key>" - Responses:
303Redirect
401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }404Not Found
JSONCopied to clipboard{ "error": "string" }
List a Site's Site Mountings
/api/v0/sites/{site_uuid}/site-mountings- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_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" }
Create a Site Mounting
/api/v0/sites/{site_uuid}/site-mountings- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/site-mountings \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "local_site_id": 0, "local_path": "string", "remote_site_id": 0, "remote_path": "string", "remote_artifact": "string" }' - Responses:
201Created
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": {} } }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's SSL certificate
/api/v0/sites/{site_uuid}/ssl- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "ssl_certificate_id": 0 }' - Responses:
200OK
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": {} }
Remove a Site's SSL certificate
/api/v0/sites/{site_uuid}/ssl- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
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": {} }
Get a Site's automatic SSL state
/api/v0/sites/{site_uuid}/ssl/auto- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl/auto \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "ssl_certificate_id": 0, "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", "auto_generate_ssl_error_code": "string", "auto_generate_ssl_errored_at": "2024-01-01T00:00:00Z" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Retry a Site's automatic SSL generation
/api/v0/sites/{site_uuid}/ssl/auto- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl/auto \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "ssl_certificate_id": 0, "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", "auto_generate_ssl_error_code": "string", "auto_generate_ssl_errored_at": "2024-01-01T00:00:00Z" }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Get a Site's Cloudflare SSL state
/api/v0/sites/{site_uuid}/ssl/cloudflare- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl/cloudflare \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "ssl_status": "string", "ssl_errors": null, "ssl_certificate_id": 0, "custom_hostname_id": "string", "min_tls_version": "string", "response": {} }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Retry a Site's Cloudflare SSL setup
/api/v0/sites/{site_uuid}/ssl/cloudflare- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl/cloudflare \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "ssl_status": "string", "ssl_errors": null, "ssl_certificate_id": 0, "custom_hostname_id": "string", "min_tls_version": "string", "response": {} }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Update a Site's Cloudflare SSL setup
/api/v0/sites/{site_uuid}/ssl/cloudflare- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/ssl/cloudflare \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "ssl_certificate_id": 0, "validation_method": "string", "wildcard": true, "min_tls_version": "string" }' - Responses:
200OK
JSONCopied to clipboard{ "ssl_status": "string", "ssl_errors": null, "ssl_certificate_id": 0, "custom_hostname_id": "string", "min_tls_version": "string", "response": {} }401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List a Site's Syncs
/api/v0/sites/{site_uuid}/syncs- Path parameters:
- Filters:
- Sorting:
Attribute to sort the results by
Defaults to:
"created_at"Allowed values:
iduuidcreated_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/sites/{site_uuid}/syncs \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard[ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "name": "string", "successful": true, "identifier": "string", "after_identifier": "string", "diff_id": "string", "completed_at": "2024-01-01T00:00:00Z", "provider": "string", "provider_data": {}, "triggered_build": true, "created_at": "2024-01-01T00:00:00Z", "updated_at": "2024-01-01T00:00:00Z", "site_uuid": "00000000-0000-0000-0000-000000000000" } ]401Unauthorized
JSONCopied to clipboard{ "error": "string" }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Start watching a Site path
/api/v0/sites/{site_uuid}/watchers- Path parameters:
- Query parameters:
The file path to watch
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/watchers \ -X POST \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{}403Forbidden
JSONCopied to clipboard{ "error": "string" }
Stop watching a Site path
/api/v0/sites/{site_uuid}/watchers- Path parameters:
- Query parameters:
The file path to stop watching
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/sites/{site_uuid}/watchers \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{}403Forbidden
JSONCopied to clipboard{ "error": "string" }