Organisation · v1
createOrganization
LiveCreate an organization and owner account
Public signup. Creates the organization and first owner, then returns access and refresh tokens. Anonymous requests must contain only this mutation root field, without aliases, fragments, batching, or other operations. SIGNUP_DISABLED, EMAIL_ALREADY_REGISTERED, PHONE_ALREADY_REGISTERED, RATE_LIMITED.
/graphqlapp audienceWho can call this. Public signup.
Headers
Bearer <token>, issued for this endpoint's audience. The token decides the shop and roles; nothing in the request body can change them.Example:
Bearer eyJhbGciOiJFZERTQSJ9…Always
application/json. Only POST is accepted.Example:
application/jsonSet to
createOrganizationto select the only unauthenticated GraphQL operation. The server rejects aliases, fragments, batching, multiple operations, and any other root field.Example:
createOrganizationYour id for this request (8–128 characters of A–Z a–z 0–9 . _ : -). Echoed back in the response header and in every error, so you can quote it when reporting a problem. Core makes one if you send none.
Example:
app-7f3c2a9e-checkout
Arguments
The new shop and owner.
Example:
{"yourName":"Synthetic Owner","name":"Example Machine Works","businessEmail":"owner@example.test","phone":"+919876543210","gstin":"27QWERT1234M1ZO","password":"ExamplePass123","address":{"line1":"1 Synthetic Road","city":"Chennai","state":"Tamil Nadu","pincode":"600001"}}Show children
Registered address.
Business email; it is the owner’s sign-in email.
15-character GSTIN with a valid state, PAN, and checksum.
The organization or shop name.
At least 10 characters, including letters and digits.
Owner’s phone number in E.164 format.
Your full name.
Returns
Public signup. Creates the organization and first owner, then returns access and refresh tokens. Anonymous requests must contain only this mutation root field, without aliases, fragments, batching, or other operations.
SIGNUP_DISABLED,EMAIL_ALREADY_REGISTERED,PHONE_ALREADY_REGISTERED,RATE_LIMITED.Show children
Short-lived access token.
Example:
"example-jwt-access-token"Access-token lifetime in seconds.
Example:
900The newly created organization.
Example:
{"id":"0192f0c1-0000-7000-8000-00000000000a","code":"org-0123456789abcd","name":"Example Machine Works"}Refresh-token lifetime in seconds.
Example:
2592000Rotating refresh token.
Example:
"example-refresh-token"The first owner’s user id.
Example:
"0192f0c1-0000-7000-8000-00000000000b"
Errors
| Code | HTTP | When |
|---|---|---|
SIGNUP_DISABLED | 403 | Public organization creation is disabled for this environment. |
VALIDATION_FAILED | 400 | Input failed Zod or route schema validation. details lists each field path and problem. |
Every error has the same body. See Errors.
Rate limit tier
Tier: per IP. Over the limit you get RATE_LIMITED (HTTP 429) with a Retry-After header. See Response handling.