Create Project
Register a new project under your organization and configure its database connection:
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✅ Yes | Display name of the project |
abbreviation | string | ✅ Yes | Short slug — lowercase, no spaces |
description | string | ❌ No | Optional description of the project |
database[].host | string | ✅ Yes | Database host (e.g. localhost) |
database[].port | string | ✅ Yes | Database port (e.g. 3306 for MySQL) |
database[].username | string | ✅ Yes | Database username |
database[].password | string | ✅ Yes | Database password |
database[].db_name | string | ✅ Yes | Name of the database to connect |
database[].db_type | string | ✅ Yes | Database engine — e.g. mysql, postgres |
database[].connect_timeout_secs | integer | ✅ Yes | Connection timeout in seconds |
database[].idle_timeout_secs | integer | ✅ Yes | Idle connection timeout in seconds |
database[].max_open_connections | integer | ✅ Yes | Max open connections in the pool |
database[].max_idle_connections | integer | ✅ Yes | Max idle connections in the pool |
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-Org-Id | String | Organization identifier |
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 — project registered successfully:
{
"code": 201,
"status": "Created",
"message": "project created successfully"
}
208 Already Reported — a project with this abbreviation already exists under the org:
{
"code": 208,
"status": "Already Reported",
"message": "project 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 or does not match the org |
404 | X-Org-Id does not correspond to any existing organization |
208 | Project with this abbreviation already exists — safe to proceed |