Skip to main content
POST
/
api
/
public
/
tenants
curl -X POST "https://api.crovver.com/api/public/tenants" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "externalTenantId": "workspace_abc123",
    "name": "Acme Corp",
    "ownerExternalUserId": "user_123",
    "ownerEmail": "admin@acme.com",
    "ownerName": "Jane Smith"
  }'
{
  "success": true,
  "data": {
    "id": "ten_crovver_xyz",
    "externalTenantId": "workspace_abc123",
    "name": "Acme Corp",
    "slug": "acme-corp",
    "createdAt": "2025-01-01T00:00:00Z"
  }
}
Creates a new billing tenant in Crovver. For B2B orgs, call this when a new workspace/organization is created in your app. For D2C, tenants are auto-created on first checkout.

Request Body

externalTenantId
string
required
The workspace/org ID from your application
name
string
required
Display name for the tenant
ownerExternalUserId
string
required
The external user ID of the billing owner
ownerEmail
string
required
Email address of the billing owner
ownerName
string
Display name of the billing owner

Authentication

Requires a secret key (Authorization: Bearer sk_live_...).
curl -X POST "https://api.crovver.com/api/public/tenants" \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "externalTenantId": "workspace_abc123",
    "name": "Acme Corp",
    "ownerExternalUserId": "user_123",
    "ownerEmail": "admin@acme.com",
    "ownerName": "Jane Smith"
  }'
{
  "success": true,
  "data": {
    "id": "ten_crovver_xyz",
    "externalTenantId": "workspace_abc123",
    "name": "Acme Corp",
    "slug": "acme-corp",
    "createdAt": "2025-01-01T00:00:00Z"
  }
}