| [ Web Proxy ] |
| Viewing: https://developers.cloudflare.com/tenant/how-to/manage-accounts/ | [Back] [Original] |
Each customer or team that uses Cloudflare should have their own account. This ensures proper security and access of resources. Each account acts as a container of zones and other resources. Depending on your needs, you may even provision multiple accounts for a single customer or team.
When you create an account with the Tenant API, your Cloudflare user owns that account from creation, ongoing management, and finally deletion.
Each customer or team that uses Cloudflare should have their own account. This ensures proper security and access of resources. Each account acts as a container of zones and other resources. Depending on your needs, you may even provision multiple accounts for a single customer or team.
When you create an account with the Tenant API, your Cloudflare user owns that account from creation, ongoing management, and finally deletion.
To create an account under your tenant using the dashboard:
To create an account using the API, make a POST request to the /accounts endpoint and include the following values:
name string
type enum
standard (default) and enterprise. For self-serve customers, use standard. For enterprise customers, use enterprise.unit object
Information related to the tenant unit.
id string
unit_tag from your tenant details.All KYC parameters are text fields, have a 120 character limit, and are optional unless enforced by the Tenant.
business_name string
business_address string
business_email string
business_phone string
external_metadata string
curl "https://api.cloudflare.com/client/v4/accounts" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"name": "<ACCOUNT_NAME>",
"type": "standard"
}'
A successful request will return an HTTP status of 200 and the following response body:
{
"result": {
"id": "2bab6ace8c72ed3f09b9eca6db1396bb",
"name": "<ACCOUNT_NAME>",
"type": "standard",
"settings": {
"enforce_twofactor": false
}
},
"success": true,
"errors": [],
"messages": []
}
A request with a unit ID:
Requestbashcurl "https://api.cloudflare.com/client/v4/accounts" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"name": "<ACCOUNT_NAME>",
"type": "standard",
"unit": {
"id": "1a2b3c4d5e6f7g8h"
}
}'
A request with a unit ID and KYC:
Requestbashcurl "https://api.cloudflare.com/client/v4/accounts" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
"name": "<ACCOUNT_NAME>",
"type": "standard",
"business_name": "Cloudflare",
"business_email": "email@business.com",
"business_address": "San Francisco",
"business_phone": "1234567890",
"external_metadata": "{'\''testKey'\'': '\''testValue'\''}",
"unit": {
"id": "1a2b3c4d5e6f7g8h"
}
}'When you create an account with the Tenant API, your Cloudflare user owns that account from creation, ongoing management, and finally deletion.
To view any accounts owned by your tenant using the dashboard:
To fetch any accounts owned by your tenant using the API, send a GET request to the /accounts endpoint.
You will get back a list of all the accounts you have created plus any accounts your user already had access to.
Requestbashcurl https://api.cloudflare.com/client/v4/accounts \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"Responsejson{
"result": [
{
"id": "a34bd6cc645a31486aa2ef71f1b9afb6",
"name": "My Personal Account",
"settings": {
"enforce_twofactor": false
}
},
{
"id": "1b16db169c9cb7853009857198fae1b9",
"name": "Created Account",
"settings": {
"enforce_twofactor": false
}
}
],
"result_info": {
"page": 1,
"per_page": 20,
"total_pages": 1,
"count": 2,
"total_count": 2
},
"success": true,
"errors": [],
"messages": []
}To update an account, send a PUT request to the /accounts/{account_id} endpoint.
To delete an account you have created, send a DELETE request to the /accounts/{account_id} endpoint.
Account deletion is permanent and will delete any zones or other resources under the account.
Some resources require manual deletion
The following resources are not automatically deleted when you delete an account and must be removed manually beforehand:
To ensure complete cleanup, delete these resources before deleting the account by calling the following endpoints in sequence:
Delete Zero Trust Gateway configuration:
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/gateway \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
Delete Access organization:
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/access/organizations \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
Then delete the account (see below).
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id} \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>"
A successful request will return the id to confirm the operation:
Responsejson{
"result": {
"id": "1b16db169c9cb7853009857198fae1b9"
},
"success": true,
"errors": [],
"messages": []
}| Web Proxy Viewer | New URL | Original Page |