Create Organization
Register a new organization in the Minimal system:
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
org_id | string | ✅ Yes | Unique identifier for the org — generate a ULID |
name | string | ✅ Yes | Display name of the organization |
abbreviation | string | ✅ Yes | Short slug — lowercase, no spaces (e.g. acme) |
admin_email | string | ✅ Yes | Primary admin email address |
admin_name | string | ✅ Yes | Primary admin full name |
address | string | ✅ Yes | Street address |
state | string | ✅ Yes | State or province |
country | string | ✅ Yes | Country |
pin_code | string | ✅ Yes | Postal / ZIP code |
Required Headers
All requests to Minimal must include these headers.
They are mandatory — missing any header results in a 400 Bad Request.
| Header | Format | Description |
|---|---|---|
X-User-Id | String | Authenticated user's identifier |
X-Server-Key | String | Server-level auth key — contact your admin |
Content-Type | String | Must be application/json |
Response
201 Created — organization registered successfully:
{
"code": 201,
"status": "Created",
"message": "organisation created successfully"
}
208 Already Reported — an org with this org_id already exists — safe to proceed to Create Project:
{
"code": 208,
"status": "Already Reported",
"message": "organisation already exists"
}
Common Errors
| Code | Reason |
|---|---|
400 | Malformed JSON body or missing required field |
401 | Missing X-User-Id or X-Server-Key header |
403 | X-Server-Key is invalid |
422 | Field value violates a constraint — e.g. abbreviation contains spaces or uppercase |