Skip to main content
POST
Register project user to Upsolve

Authorizations

apiKey
string
query
required

apiKey MUST be supplied within the request body instead of query

Body

application/json

POST /v1/api/projects/register-user Request body

name
string
required

Display name for this user. This will appear in the Upsolve Hub.

Example:

"Google Inc"

properties
object
required

Properties of a user

projectId
string<uuid>
required

The ID of the project

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Example:

"123e4567-e89b-12d3-a456-426614174000"

userRoleId
string<uuid>
required

The ID of the user role

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Example:

"123e4567-e89b-12d3-a456-426614174000"

projectOrganizationId
string
required

Identifier of the project organization the user belongs to. Accepts either the Upsolve-issued UUID or the project organization's externalId (set at /register-organization time).

Minimum string length: 1
Example:

"123e4567-e89b-12d3-a456-426614174000"

apiKey
string

Upsolve API key, generated under Account → Developer settings in the Upsolve Hub. Keys are user-scoped: pass organizationId alongside the key to select which org to act on.

Minimum string length: 1
Example:

"up_embed_************"

organizationId
string<uuid>

Your Upsolve organization's UUID — the org that owns the API key and project. This is NOT a project organization: do not pass a value registered via /projects/register-organization, and do not pass an externalId (only projectOrganizationId accepts those). Omit it when using an org-bound API key — the org is read from the key and any value sent here is ignored. Required only for user-scoped API keys (created under Account → Developer settings) and for the Supabase JWT path, where the org is ambiguous and membership is verified against it.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Example:

"123e4567-e89b-12d3-a456-426614174000"

userId
string<uuid>

Optional ID for the project user. If provided, this value is used as the project_users.id; otherwise the database generates one.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Example:

"123e4567-e89b-12d3-a456-426614174000"

environment
string

The environment the user belongs to: production (the default) or one the project created, such as staging. It decides which workspace versions and which databases the user's queries are served from, from then on. The project organization must be in the same environment.

Example:

"production"

Response

POST /v1/api/projects/register-user Positive response

status
string
required
Allowed value: "success"
data
object
required
Example: