Users

Create a user

Creates a tenant user (Admin or Site Crew) with an initial password and at least one project assignment, and returns the created user plus the credentials to share with them (there is no credentials email in v1). The email must be unique among active users in the tenant.

POST
/users

Creates a tenant user (Admin or Site Crew) with an initial password and at least one project assignment, and returns the created user plus the credentials to share with them (there is no credentials email in v1). The email must be unique among active users in the tenant.

Authorization

x-api-key<token>

The per-tenant API key, copied from Settings → API & integrations. Sent as the x-api-key request header. The key is tenant-scoped and acts with Admin-equivalent, tenant-wide access.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/users" \  -H "Content-Type: application/json" \  -d '{    "name": "string",    "email": "user@example.com",    "password": "string",    "projectIds": [      "b2d9859a-b2e9-4f49-b393-9a25d0eff2f8"    ]  }'
{  "user": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "name": "string",    "email": "user@example.com",    "role": "admin",    "status": "active",    "projectIds": [      "b2d9859a-b2e9-4f49-b393-9a25d0eff2f8"    ]  },  "credentials": {    "email": "user@example.com",    "password": "string"  }}
{  "error": {    "code": "unauthorized",    "message": "Missing or invalid API key."  }}
{  "error": {    "code": "read_only",    "message": "Your subscription is inactive. This action is read-only."  }}
{  "error": {    "code": "conflict",    "message": "This template has submissions and can't be deleted. Archive it instead."  }}
{  "error": {    "code": "validation",    "message": "One or more inputs are invalid.",    "fields": {      "fieldName": "A message explaining what's wrong with this field."    }  }}