Create a tenant and its owner account
POST
/v1/auth/signup
const url = 'https://api.wirevod.online/v1/auth/signup';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"email":"owner@example.com","password":"correct-horse-battery-staple","name":"Ada Lovelace","tenantName":"Acme Media"}'};
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.wirevod.online/v1/auth/signup \ --header 'Content-Type: application/json' \ --data '{ "email": "owner@example.com", "password": "correct-horse-battery-staple", "name": "Ada Lovelace", "tenantName": "Acme Media" }'Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
email
required
string format: email
password
required
string
name
string
tenantName
string
Example
{ "email": "owner@example.com", "password": "correct-horse-battery-staple", "name": "Ada Lovelace", "tenantName": "Acme Media"}Responses
Section titled “ Responses ”Account created; tokens issued.
Media typeapplication/json
object
user
required
object
id
required
string
tenant_id
required
string
email
required
string format: email
email_verified
required
boolean
name
required
string | null
role
required
string
created_at
required
integer
tenant
required
object
id
required
string
slug
required
string
name
required
string
plan
required
string
status
required
string
created_at
required
integer
access_token
required
string
refresh_token
required
string
token_type
required
string
expires_in
required
integer
Example
{ "user": { "id": "usr_01J9Z", "tenant_id": "ten_01J9Z", "email": "owner@example.com", "email_verified": false, "name": "Ada Lovelace", "role": "owner", "created_at": 1760000000000 }, "tenant": { "id": "ten_01J9Z", "slug": "acme-media-4f2a1b", "name": "Acme Media", "plan": "free", "status": "active", "created_at": 1760000000000 }, "access_token": "eyJhbGciOiJIUzI1NiJ9.access", "refresh_token": "wvr_9f2c.refresh", "token_type": "bearer", "expires_in": 900}The request was malformed or failed validation.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "invalid_request", "code": "invalid_request", "message": "asset_id is required"}The request conflicts with the resource’s current state.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "upload_in_progress", "code": "upload_in_progress", "message": "An upload is already in progress for this asset"}Too many requests in the current window.
Media typeapplication/json
object
error
required
string
code
required
string
message
required
string
details
Example
{ "error": "rate_limited", "code": "rate_limited", "message": "Too many requests", "details": { "retry_after": 60 }}Headers
Section titled “Headers”Retry-After
integer
Seconds to wait before retrying.