Create organization
POST
/organizations
Multi-tier onboarding payload.
Requires a bearer session and a verified email address — an unverified session answers 403. Self-service creation is capped at 5 organizations per hour per (IP, user).
Authorizations
BearerAuth
In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.
Type
HTTP (bearer)
Request Body
application/json
JSON
{
"legal_name": "string",
"ein": "12-3456789",
"country": "string",
"website": "string",
"description": "string",
"categories": [
"string"
],
"kind": "company",
"parent_organization_id": "string",
"dbas": [
{
"dba_name": "string"
}
],
"locations": [
{
"label": "string",
"address": {
"additionalProperties": "string"
}
}
]
}
Responses
Organization created, pending verification. The caller becomes its org_owner.
application/json
JSON
{
"data": {
"id": "string",
"slug": "string",
"legal_name": "string",
"kind": "string",
"parent_organization_id": "string",
"verification_status": "string",
"dbas": [
{
"id": "string",
"dba_name": "string",
"is_default": true
}
],
"locations": [
{
"id": "string",
"label": "string",
"address": {
"additionalProperties": "string"
},
"is_primary": true
}
],
"created_at": "string"
}
}