Admins are Users who have access to the Cadana Dashboard and can manage business settings, payroll, and worker records. They are distinct from Persons, which represent worker HR records.
Use these endpoints to programmatically grant or revoke Dashboard access for team members — for example, adding a finance manager or removing someone who has left the company.
Prerequisites
Business set up
You need an active business. Platform integrators should include the X-MultiTenantKey header with the business’s tenant key — see Multi-Tenant Setup.
Add an Admin
Add a new admin to your business with POST /v1/users/admins. Provide the admin’s name and email address.
curl -X POST 'https://api.cadanapay.com/v1/users/admins' \
-H 'Authorization: Bearer YOUR_API_KEY'
Response:
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
By default, the new admin receives a welcome email with a sign-up link to set their password and access the Dashboard.
To skip the welcome email (for example, if you handle onboarding separately), set suppressWelcomeEmail to true in the request body.
Assign a Custom Role
If your business has custom roles configured, pass the roleId to restrict what the admin can access. See Custom Roles below to list available roles.
curl -X POST 'https://api.cadanapay.com/v1/users/admins' \
-H 'Authorization: Bearer YOUR_API_KEY'
Remove an Admin
Remove an admin from your business with DELETE /v1/users/admins/{userId}. Pass the admin’s user ID (returned when you added them).
curl -X DELETE 'https://api.cadanapay.com/v1/users/admins/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
-H 'Authorization: Bearer YOUR_API_KEY'
Returns 204 on success, 404 if the user is not found.
This action is immediate and cannot be undone. The admin loses Dashboard access as soon as the request completes. To restore access, add them again with a new POST /v1/users/admins request.
Custom Roles
Custom roles let you control what each admin can do in the Dashboard. Use GET /v1/permissions/roles to list the roles available for your business.
curl -X GET 'https://api.cadanapay.com/v1/permissions/roles' \
-H 'Authorization: Bearer YOUR_API_KEY'
Response:
{
"data": [
{
"id": "f7e6d5c4-b3a2-1098-fedc-ba9876543210",
"name": "Finance Manager",
"description": "This is the role for a finance manager",
"operations": [
{
"resource": "payroll",
"description": "Operations related to payroll management",
"permissions": ["read", "write"]
}
]
}
]
}
Custom roles are created in the Dashboard under Settings > Permissions > Add new role. Once created, they appear in this endpoint and can be assigned to admins via roleId.
Pass a role’s id as the roleId field when adding an admin to assign them that role. If no roleId is provided, the admin gets full access.
Next Steps