Deploy a Definition
A Custom API definition is deployed by POSTing the YAML to Minimal. The endpoint is registered immediately — no restart required.
Deploy Endpoint
POST {yourdomain}/minimal/rest/definition/v1
Headers
| Header | Required | Description |
|---|---|---|
X-Org-Id | ✅ | Organization ID |
X-Project-Id | ✅ | Project ID |
X-Space-Id | ✅ | Space ID |
X-User-Id | ✅ | User performing the deployment |
X-User-Roles | ✅ | Must include power or admin |
X-Server-Key | ✅ | Server key from config.yml |
Content-Type | ✅ | application/x-yaml |
curl
curl -X POST https://your-domain.com/minimal/rest/definition/v1 \
-H "X-Org-Id: 01KC11784DW133S3THR7JTQNQ1" \
-H "X-Project-Id: 01KC11KZ6VDMMKJZ4YWQYKYZ6Z" \
-H "X-Space-Id: 01KBY3K97GMAJFBQ0PP7158NZH" \
-H "X-User-Id: 01KBY3K9NDC5XW523M2V1Z0373" \
-H "X-User-Roles: admin" \
-H "X-Server-Key: your-server-key" \
-H "Content-Type: application/x-yaml" \
--data-binary @definition.yaml
Postman / Bruno
- Method:
POST - URL:
{yourdomain}/minimal/rest/definition/v1 - Headers: add all seven headers above
- Body: raw → paste your YAML or attach the
.yamlfile
Calling Your Endpoint
Once deployed, your endpoint is live at:
{method} {yourdomain}/{org_abbreviation}/{project_abbreviation}/{uri}?version={version}
Pass ?version= as a query parameter to specify which version to invoke:
GET https://your-domain.com/lbl/crm/users/all?version=0.1
All five Auto API headers are required on every call:
| Header | Required | Description |
|---|---|---|
X-Org-Id | ✅ | Organization ID |
X-Project-Id | ✅ | Project ID |
X-Space-Id | ✅ | Space ID |
X-User-Id | ✅ | Authenticated user |
X-User-Roles | ✅ | Checked against permission in the definition |
curl
curl "https://your-domain.com/lbl/crm/users/all?version=0.1" \
-H "X-Org-Id: 01KC11784DW133S3THR7JTQNQ1" \
-H "X-Project-Id: 01KC11KZ6VDMMKJZ4YWQYKYZ6Z" \
-H "X-Space-Id: 01KBY3K97GMAJFBQ0PP7158NZH" \
-H "X-User-Id: 01KBY3K9NDC5XW523M2V1Z0373" \
-H "X-User-Roles: admin"
Updating a Definition
POST the updated YAML with an incremented http.version and set config.rollback_version to the previous version:
http:
version: 0.2 # incremented from 0.1
config:
rollback_version: 0.1 # previous working version
POST to the same endpoint. Minimal replaces the existing definition and retains the previous version for rollback.
Safe Update Pattern
Deploy v0.1 → working in production
↓
Deploy v0.2 → set rollback_version: 0.1
↓
v0.2 fails? → Minimal falls back to v0.1 automatically
Always increment http.version on every update. Never overwrite a version that is still referenced as a rollback_version.