---
title: "Register"
method: POST
path: "/v1/auth/register"
tags: ["Auth"]
---

# Register

`POST /v1/auth/register`

## Request

- Base URL: `https://api.pinbridge.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.pinbridge.io/v1/auth/register`
- Auth: none declared

Register a new user and create production project for their organization.

## Request body

- RegisterRequest: Request schema for registering a new user account.
  - `full_name` string, required
  - `email` string, email, required
  - `password` string, required
  - `workspace_name` string, nullable
  - `timezone` string, nullable: Default IANA timezone for the user/workspace (e.g. America/New_York)
  - `next_path` string, nullable: Optional relative path to preserve through signup and email verification flows.
  - `marketing_attribution` RegisterMarketingAttribution: Allowed marketing attribution keys captured at signup.
    - `utm_source` string, nullable
    - `utm_medium` string, nullable
    - `utm_campaign` string, nullable
    - `utm_term` string, nullable
    - `utm_content` string, nullable
    - `gclid` string, nullable
    - `ga_client_id` string, nullable
    - `referral_code` string, nullable: Affiliate referral slug captured from the `?sa=` link.
  - `invite_token` string, nullable: Optional organization invitation token to accept during registration.

## Response `201`

Successful Response

- AuthResponse: Authentication response with bearer token.
  - `access_token` string, required
  - `token_type` string
  - `expires_in` integer, required
  - `user` AuthUserResponse, required: Authenticated user details.
    - `id` string, uuid, required
    - `email` string, email, required
    - `full_name` string, nullable
    - `timezone` string, required
    - `email_verified` boolean, required
    - `created_at` string, date-time, required
  - `organization` AuthOrganizationResponse, required: Organization details.
    - `id` string, uuid, required
    - `name` string, required
  - `organization_role` string, required
  - `permissions` AuthPermissionResponse, required: Resolved role-based permission flags for the current organization.
    - `can_manage_members` boolean, required
    - `can_manage_billing` boolean, required
    - `can_manage_api_keys` boolean, required
    - `can_manage_integrations` boolean, required
    - `can_publish` boolean, required
    - `can_delete_assets` boolean, required
    - `can_reset_sandbox` boolean, required
    - `can_view_reports` boolean, required
    - `can_delete_content` boolean, required
  - `active_project` AuthWorkspaceResponse, required: Authenticated project/workspace details.
    - `id` string, uuid, required
    - `name` string, required
    - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
    - `timezone` string, required
    - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `projects` AuthWorkspaceResponse[], required
    - `id` string, uuid, required
    - `name` string, required
    - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
    - `timezone` string, required
    - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `available_organizations` AuthOrganizationSessionResponse[], required
    - `organization` AuthOrganizationResponse, required: Organization details.
      - `id` string, uuid, required
      - `name` string, required
    - `organization_role` string, required
    - `permissions` AuthPermissionResponse, required: Resolved role-based permission flags for the current organization.
      - `can_manage_members` boolean, required
      - `can_manage_billing` boolean, required
      - `can_manage_api_keys` boolean, required
      - `can_manage_integrations` boolean, required
      - `can_publish` boolean, required
      - `can_delete_assets` boolean, required
      - `can_reset_sandbox` boolean, required
      - `can_view_reports` boolean, required
      - `can_delete_content` boolean, required
    - `active_project` AuthWorkspaceResponse, required: Authenticated project/workspace details.
      - `id` string, uuid, required
      - `name` string, required
      - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
      - `timezone` string, required
      - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
    - `projects` AuthWorkspaceResponse[], required
      - `id` string, uuid, required
      - `name` string, required
      - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
      - `timezone` string, required
      - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.
  - `workspace` AuthWorkspaceResponse, required: Authenticated project/workspace details.
    - `id` string, uuid, required
    - `name` string, required
    - `environment` 'production' | 'sandbox', required: Environment mode for an isolated project/workspace.
    - `timezone` string, required
    - `plan` 'free' | 'starter' | 'growth' | 'pro' | 'enterprise', required: Subscription plan tiers.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/pinbridge/apis/pinbridge-api.md) · [All operations](https://skmtc.dev/pinbridge/apis/pinbridge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/pinbridge/apis/pinbridge-api/revisions/b17603589d01?raw)
