Register Project Organization
Use this endpoint to create a new organization. This allows you to organize users and data within a project by organization.
Authorizations
apiKey MUST be supplied within the request body instead of query
Body
POST /v1/api/projects/register-organization Request body
Display name for the organization. This will appear in the Upsolve Hub.
1"Acme Inc"
The ID of the project this organization belongs to.
^([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})$"123e4567-e89b-12d3-a456-426614174000"
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.
1"up_embed_************"
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.
^([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})$"123e4567-e89b-12d3-a456-426614174000"
Optional key/value metadata for the organization. Used to scope and secure data when its users access an Upsolve dashboard.
Optional external identifier for this project organization (e.g. your internal company UUID). When set, subsequent calls that accept projectOrganizationId will resolve this value to the underlying Upsolve UUID.
1"acme-internal-uuid-1234"