Skip to main content

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​

HeaderRequiredDescription
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​

  1. Method: POST
  2. URL: {yourdomain}/minimal/rest/definition/v1
  3. Headers: add all seven headers above
  4. Body: raw → paste your YAML or attach the .yaml file

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:

HeaderRequiredDescription
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.