Promote to Admin
The Promote to Admin endpoint invites an existing user to become a manager (admin) in Connecteam. A successful API response means the invitation was sent — it does not mean the user is an admin yet.
Endpoint
POST /users/v1/admins
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| userId | integer | Yes | The ID of the user to invite as an admin |
| string | Yes | Email address for the admin invitation. This email replaces the user's existing email address. | |
| title | string | Yes | Job title for the admin. Must be a non-empty string — the request is rejected with 400 if it is missing or empty. |
Request Example
{
"userId": 7031021,
"email": "[email protected]",
"title": "Team Manager"
}Success Response (200)
{
"requestId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"data": {
"success": true,
"userId": 7031021
}
}
ImportantA
200response means the promote-to-admin request succeeded and an invitation email was sent. The user does not become an admin — and does not receive admin permissions — until they accept the invitation. Until then, their user type remains unchanged.
What Happens When You Call This Endpoint
- The user's email address is replaced with the email submitted in the request
- An invitation email is sent to that address
- The API returns
200to confirm the invitation was created and sent
What Happens After the User Accepts
Only after the invited user accepts the invitation:
- Their user type changes from
usertoadmin - They become an actual admin in the system with the relevant admin permissions
Error Responses
| Status | Error | Description |
|---|---|---|
| 400 | Request body is invalid | A required field is missing or invalid — for example title was omitted or empty (error_code: 1002) |
| 400 | User not found | The specified userId does not exist |
| 400 | User already manager | The user already has admin permissions |
| 400 | Duplicate email | This email is already in use by another admin |
| 403 | Email is blacklisted | The email address is on the blacklist |
Example — title omitted:
{
"details": {
"error_message": "Request body is invalid",
"error_code": 1002
},
"error": {
"body.title": {
"message": "field required",
"type": "value_error.missing"
}
}
}
NoteTo demote an admin back to a regular user, use the Update Users endpoint with the appropriate userType.
Updated 13 days ago
Did this page help you?
