Machine Layer
Structured access for automated systems.
The Machine Layer is the direct integration surface for automated systems, agents, and programmatic clients. All inputs follow structured intake standards. Human escalation paths are available only as downstream routing outputs — not as direct access.
No Auth Required
Structured Input Only
Async Routing
API Endpoints
Available routes. All inputs are validated before processing.
POST/api/intakeSubmit a structured case for triage and routing.Auth: None
POST/api/classifyClassify a case type and return routing recommendation.Auth: None
GET/api/status/:idRetrieve the current status and routing outcome of a submitted case.Auth: Case Token
POST/api/agent/querySubmit a structured query to the front-end agent for automated resolution.Auth: None
GET/api/standardsRetrieve the current intake standards and access rules as structured data.Auth: None
Payload Schema
Required and optional fields for all submissions.
| Field | Required | Values | Description |
|---|---|---|---|
type | Required | project | partnership | capital | inquiry | The classification of the submission. |
origin | Required | string | Machine identifier or system name originating the request. |
payload | Required | object | Structured case data. Schema varies by type. See /api/standards. |
priority | Optional | standard | elevated | Routing priority hint. Subject to system override. |
callback_url | Optional | string (URL) | Webhook URL to receive status updates upon routing completion. |
Response Codes
What each response means. Handle all of them.
200OK
Request received and queued for triage.202Accepted
Request accepted and routing in progress.400Bad Request
Payload is malformed or missing required fields.403Forbidden
Access level insufficient for the requested path.422Unprocessable
Payload is structurally valid but fails intake standards.429Rate Limited
Too many requests. Apply exponential backoff.Design Principles
How the Machine Layer is designed to behave.
These are the operating principles for automated clients. Build to them.
Stateless by defaultEvery request is self-contained. No session state is maintained. Idempotency is recommended for all submissions.
Structured inputs onlyUnstructured or free-text payloads are rejected. All inputs must conform to the intake schema for their type.
Triage before routingNo submission is routed without classification. Routing is a downstream output of triage, not an input assumption.
Callbacks are asyncStatus updates are delivered asynchronously via webhook. Polling /api/status is available but not preferred.
Example Request
A valid intake submission.
POST /api/intake
Content-Type: application/json
{
"type": "project",
"origin": "automated-client-v1",
"priority": "standard",
"callback_url": "https://your-system.example/webhook",
"payload": {
"title": "Infrastructure Resilience Assessment",
"scope": "national",
"urgency": "standard",
"description": "Request for structured assessment of critical infrastructure...",
"contact": {
"entity": "Acme Infrastructure Group",
"jurisdiction": "AU"
}
}
}Ready to Integrate
Automated systems enter through the Machine Layer. Humans enter through the front-end.
All intake standards apply equally to machine and human submissions. Review the standards framework before building your integration.
REST API
JSON Schema
Webhook Callbacks