Get group details
GET
/api/v0/groups/{group_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid} \ -H "X-API-KEY: <your-api-key>" - Responses:
200OK
JSONCopied to clipboard{ "permissions": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "resource": "string", "global_scope": true, "group_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "site_scope_uuid": "string", "file_glob": "string", "except": true, "group_id": 0, "group_uuid": "string", "organisation_uuid": "string" } ] }403Forbidden
JSONCopied to clipboard{ "error": "string" }
Update a group's name and custom permissions
PUT
/api/v0/groups/{group_uuid}- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid} \ -X PUT \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "name": "string", "permissions": [ { "resource": "string", "except": true, "global_scope": true, "group_scope_uuid": "string", "site_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "file_glob": "string" } ] }' - Responses:
200OK
JSONCopied to clipboard{ "permissions": [ { "uuid": "00000000-0000-0000-0000-000000000000", "id": 0, "resource": "string", "global_scope": true, "group_scope_uuid": "string", "base_domain_scope_uuid": "string", "project_scope_uuid": "string", "site_scope_uuid": "string", "file_glob": "string", "except": true, "group_id": 0, "group_uuid": "string", "organisation_uuid": "string" } ] }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Delete a group
DELETE
/api/v0/groups/{group_uuid}- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid} \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }
Leave a group as the current authenticated user
DELETE
/api/v0/groups/{group_uuid}/leave- Path parameters:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid}/leave \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Left the group
403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List the members of a group
GET
/api/v0/groups/{group_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/groups/{group_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" }
Invite a user to a group by email; existing users are added as members, others as pending members
POST
/api/v0/groups/{group_uuid}/members- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid}/members \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "email": "string", "accept_billing_increase": true }' - 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 } }402FeatureNotOnPlan
JSONCopied to clipboard{ "errors": {} }403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Remove a member from a group by email
DELETE
/api/v0/groups/{group_uuid}/members- Path parameters:
- Query parameters:
Email of the member to remove
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid}/members \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
List the pending (invited but not yet accepted) members of a group
GET
/api/v0/groups/{group_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/groups/{group_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" }
Cancel a pending group invitation by email
DELETE
/api/v0/groups/{group_uuid}/pending-members- Path parameters:
- Query parameters:
Email of the pending member to remove
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid}/pending-members \ -X DELETE \ -H "X-API-KEY: <your-api-key>" - Responses:
204Deleted
403Forbidden
JSONCopied to clipboard{ "error": "string" }422Unprocessable
JSONCopied to clipboard{ "errors": {} }
Resend a pending group invitation email by email address
POST
/api/v0/groups/{group_uuid}/pending-members/resend- Path parameters:
- Request body:
- Example request:
- BashCopied to clipboard
curl https://app.cloudcannon.com/api/v0/groups/{group_uuid}/pending-members/resend \ -X POST \ -H "X-API-KEY: <your-api-key>" \ -H "Content-Type: application/json" \ -d '{ "email": "string" }' - Responses:
204Invitation resent
403Forbidden
JSONCopied to clipboard{ "error": "string" }