Activate a user
Activate a suspended or inactive user in the caller's organization. This is an admin action, not a profile change. Requires the caller's org:users:write permission. Returns 404 when no user exists with this ID in the caller's organization.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Path Parameters
Unique identifier of the user.
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/users/550e8400-e29b-41d4-a716-446655440000/activate"{ "id": "b50e8400-e29b-41d4-a716-446655440000", "auth_id": "sadoj21su9b23b19gvgb", "first_name": "John", "last_name": "Doe", "status": "ACTIVE", "email": "john.doe@example.com", "email_verified": true, "phone_number": "+254712345678", "tag": "@johnd1234", "locale": "en-KE", "timezone": "Africa/Nairobi", "last_login_at": "2026-02-03T10:15:30Z", "organization": "cowdi", "external_user_id": "GW-12345", "is_test": false, "source": "ADMIN_API", "suspension": { "at": "2026-03-10T08:00:00Z", "reason": "FRAUD", "internal_note": "string", "external_message": "string" }, "avatar_options": "seed=k3f9x2&skinColor=edb98a", "resource_id": "string"}{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "FORBIDDEN", "description": "Forbidden"}{ "id": "b50e8400-e29b-41d4-a716-446655440000", "auth_id": "sadoj21su9b23b19gvgb", "first_name": "John", "last_name": "Doe", "status": "ACTIVE", "email": "john.doe@example.com", "email_verified": true, "phone_number": "+254712345678", "tag": "@johnd1234", "locale": "en-KE", "timezone": "Africa/Nairobi", "last_login_at": "2026-02-03T10:15:30Z", "organization": "cowdi", "external_user_id": "GW-12345", "is_test": false, "source": "ADMIN_API", "suspension": { "at": "2026-03-10T08:00:00Z", "reason": "FRAUD", "internal_note": "string", "external_message": "string" }, "avatar_options": "seed=k3f9x2&skinColor=edb98a", "resource_id": "string"}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}Create a user POST
Create a user in an organization, or reuse an existing user when their email or phone matches one already on the platform. Requires the caller's `org:users:write` permission on the target `organization`. Returns 409 with the existing user's ID in `identifier` when the email or phone matches a different existing user; returns 409 without an `identifier` when the request has conflicting identifiers.
Link a phone number to a user POST
Link a phone number to a user that has no phone number. The phone number stays unverified. The next phone sign-in with this number signs in as this user. Requires the `org:users:write` permission on the cowdi organization. Returns 200 with no change when the user already has this phone number. Returns 409 when the user has another phone number or an open account, or when another user has the phone number.