Create a client account
POST
/partner/clients
const url = 'https://api.europlaybook.com/v1/partner/clients';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"company":{"name":"example","legal_form":"","country":"example","registry_type":"kvk","registry_id":"","vat_number":"","address":{"line1":"","line2":"","postal_code":"","city":"","country":""},"is_default":false},"owner_email":"example","language":"nl","account_name":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.europlaybook.com/v1/partner/clients \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "company": { "name": "example", "legal_form": "", "country": "example", "registry_type": "kvk", "registry_id": "", "vat_number": "", "address": { "line1": "", "line2": "", "postal_code": "", "city": "", "country": "" }, "is_default": false }, "owner_email": "example", "language": "nl", "account_name": "example" }'A new client: account (plan pilot) + its first company + an owner invite by e-mail. Your team gets
the member role in it at once (enter data, build, draft packs); approving a pack stays with
the owner. Send Idempotency-Key to retry safely.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
ClientIn
object
company
required
LegalEntityIn
The client’s first company (legal entity)
object
name
required
Name
string
legal_form
Legal Form
string
country
required
Country
string
registry_type
Registry Type
string
registry_id
Registry Id
string
vat_number
Vat Number
string
address
is_default
Is Default
boolean
owner_email
required
Owner Email
The brand owner: gets an invite to accept the account
string
Responses
Section titled “Responses”Created
Media typeapplication/json
ClientOut
object
id
required
Id
The client’s account id (send it as EuroPlaybook-Account)
string format: uuid
account_id
required
Account Id
string format: uuid
name
required
Name
string
status
required
Status
Invited = the owner has not accepted yet; active = joined
string
owner_email
required
Owner Email
string
owner_joined
required
Owner Joined
boolean
created_at
required
Created At
string format: date-time
company
Any of:
ClientCompanyOut
object
name
required
Name
string
country
required
Country
string
null
owner_invite
Any of:
OwnerInviteOut
object
email
required
Email
string
sent_at
required
Sent At
string format: date-time
expires_at
required
Expires At
string format: date-time
expired
required
Expired
boolean
null
Example
{ "status": "invited"}Bad Request
Media typeapplication/json
PublicErrorOut
object
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }}Unauthorized
Media typeapplication/json
PublicErrorOut
object
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }}Forbidden
Media typeapplication/json
PublicErrorOut
object
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }}Not Found
Media typeapplication/json
PublicErrorOut
object
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }}Conflict
Media typeapplication/json
PublicErrorOut
object
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }}Unprocessable Content
Media typeapplication/json
PublicValidationErrorOut
object
detail
required
Detail
What went wrong, in English, for people and logs.
string
code
required
Code
Stable machine-readable error code; translate and branch on this.
string
errors
Errors
Per-field problems (pydantic format: loc, msg, type).
Array<object>
object
key
additional properties
any
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }, "errors": []}Too Many Requests
Media typeapplication/json
PublicErrorOut
object
Example
{ "detail": "This API key lacks the scope catalogue:write", "code": "insufficient_scope", "params": { "required_scope": "catalogue:write" }}