← Home

Development reference

API reference

Explore the current development interfaces for policies, placement, evidence, and usage.

Not publicly available

Reference for evaluating integration.

These interfaces describe the current prototype. There is no public API endpoint or signup flow. Examples are reference material, and interface details may change before launch.

Customer routes use Authorization: Bearer <api-key>. Job and usage reads are scoped to the authenticated customer. A future portal will need its own secure access flow.

Customer interfaces

What the prototype exposes

Method & pathPurposeCurrent boundary
POST /v1/jobsSubmit a placement policyRequires a policy; this request does not upload executable workloads.
GET /v1/jobs/:idRead job stateIncludes placement availability and waiting reasons where recorded.
GET /v1/jobs/:id/bundleDownload a signed bundleAvailable after placement, not proof of completion.
GET /v1/usageRead usage totalsRecorded charges; not payment settlement.
GET /v1/usage/entriesRead individual usage entriesCustomer-scoped ledger entries.
GET /v1/jobsList jobsReserved route; currently returns 501.
DELETE /v1/jobs/:idRequest cancellationIncomplete lifecycle support: queued jobs currently return 409.

Policy-based placement

Your requirements shape the match.

A StrongBox requirement excludes a TEE-only result. If no qualifying slot is available, the broker keeps the job queued with waiting reasons rather than weakening the policy.

Requirements recognized as impossible across all supported roots are rejected at submission. This differs from temporarily unavailable hardware.

Download this policy example →
{
  "policy": {
    "name": "strongbox-verified-boot",
    "rules": [
      {
        "claim": "boot.state",
        "op": "equals",
        "value": "verified"
      },
      {
        "claim": "boot.locked",
        "op": "equals",
        "value": "true"
      },
      {
        "claim": "security.level",
        "op": "equals",
        "value": "strongbox"
      }
    ]
  }
}
400

Invalid request

A missing policy, malformed requirement, or unknown JSON field fails rather than being silently ignored.

202

Queued

A valid placement request is accepted into the queue. This does not mean execution has started.

422

Incompatible policy

The broker identifies a requirement that no currently supported root can provide.

The remaining integration work

Public deployment, HTTPS, customer onboarding, ownership-bound operator access, workload delivery and execution, and payment settlement are still needed for a public compute service.

See development status →