Skip to main content
POST
Headless signup (API-only path)

Authorizations

X-Internal-API-Key
string
header
required

Internal provisioning key used only by POST /v2/auth/signup, which creates brand-new accounts and therefore cannot present a tenant Bearer token.

The header X-Signup-Api-Key is accepted as an alias when X-Internal-API-Key is absent. This credential is issued to internal gigstack systems and is not part of the public tenant API surface.

Headers

X-Internal-API-Key
string
required

Internal provisioning key, constant-time validated. This is the credential the signupApiKey security scheme refers to; X-Signup-Api-Key is accepted as an alias when this header is absent. A Bearer token is not used here.

Idempotency-Key
string<uuid>
required

UUID v4. Required so retries are safe.

Body

application/json
email
string<email>
required
Example:

"agent@example.com"

name
string
required

Used for displayName + legal_name placeholder.

Example:

"Agent Builder Inc"

plan_id
string
required

A plan id from the subscriptionPricing collection. Use "free" for the free tier or "agent-tier" for the API-only paid plan.

Example:

"agent-tier"

rfc
string

Optional. Defaults to RFC genérico if omitted.

Example:

"XAXX010101000"

country
string
default:MEX
Example:

"MEX"

billing_cycle
enum<string>

Ignored for free plans.

Available options:
monthly,
annual
Example:

"monthly"

stripe_payment_method
string

Required for paid plans only. Created client-side via Stripe.js.

Example:

"pm_1Q..."

livemode
boolean
default:true
partner_ref
string

Optional partner referral code. Captured for future commission routing (not yet wired to Stripe Connect transfer_data).

Example:

"SANTIAGO-A7K9"

metadata
object
Example:

Response

Account created successfully

user_id
string
team_id
string
billing_account_id
string
subscription
object | null
api_keys
object
next_steps
object