Skip to content
Docs
Operation

Create Account

POST/accounts
Create a new account within your organisation. Accounts let you divide your organisation into separate financial entities. Each account can have its own events, users, and reporting-perfect for multi-promoter platforms, venues with multiple departments, or arts organisations managing different programmes. New accounts start empty. You'll need to invite users and assign them roles before they can start creating events.

When to use this

  • Onboarding a new promoter to your platform
  • Creating a separate division for a new programme or venue space
  • Setting up isolated environments for different teams

Headers

Idempotency-KeystringOptional
Makes the write safe to retry. The first request with a key does the work and its response is stored for 24 hours; a repeat with the same key and the same request (method, path, query, X-Ticketlayer-Channel, TL-Version and body) gets that stored status and body back, marked `Idempotent-Replay: true`, without running again. The key is scoped to your organisation and your credential. The same key with a different request is 422 IDEMPOTENCY_KEY_REUSED; a repeat while the first is still running waits for it, then answers 409 IDEMPOTENT_REQUEST_IN_PROGRESS if it has not finished. Only a 2xx is stored: after an error the key is free again. Omit the header and the request behaves as it always has.

Body

name*stringAccount name
status"active" | "inactive"Account status

Returns

Account created successfully

Errors

400
Bad Request - Invalid input
401
Unauthorized - Authentication required
403
Forbidden - Insufficient permissions
404
Not Found - Resource not found
500
Internal Server Error

Every error names its code and links to it. All error codes

Notes

Note
Each account is financially isolated-events and revenue are tracked separately.
Tip
After creating an account, use the invitation endpoints to add users.

Related

import { BackstageClient } from '@ticketlayer/backstage';const client = new BackstageClient({  organisationSlug: 'your-org',});client.setAccessToken('YOUR_ACCESS_TOKEN');// Create accountconst account = await client.account.create({  name: 'New Account',  // Add other required fields});console.log(`Created account with ID: ${account.id}`);
Response 201
{
  "account": {
    "id": "acc_abc123",
    "organisationId": "org_xyz789",
    "name": "Main Account",
    "status": "active",
    "isDeleted": false,
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-20T14:45:00Z"
  }
}

Try it in test mode

Body
Account name
Account status