CONTRACT PREVIEW · NOT YET LIVE
The contract we
are building to.
This page states the trust surface VorOrtAI is committing to for agent integrations — what is enforced today, and what is designed but not yet implemented. Nothing below should be read as a live guarantee until it is explicitly marked as such.
FASTEST PATH · LIVE TODAY
One call tells you if it is worth continuing.
POST /api/v1/quotes is public, unauthenticated and free of side effects. It creates nothing and reserves nothing, so there is no reason to gate it. It answers feasibility, price, turnaround and what to send next — including the field list — so you never have to read this page to act.
POST /api/v1/quotes
{
"task": "Check the promotional display is installed",
"location": "Mönckebergstraße 7, 20095 Hamburg",
"locations": 3
}
200 OK
feasible: true · capability: retail_audit
price: 105–240 EUR (3 locations, unconfirmed)
turnaround: 24–72h · review: ≤24h, human
next_step: POST /api/intake + body_schemaOutside Hamburg you get feasible: false immediately instead of a wasted round trip. Quotes are deterministic: the same input always returns the same numbers.
TODAY
Human-reviewed dispatch
Every task request is reviewed by a person before an operator is contacted. This is enforced now, manually, in the private beta — and stays true after the API goes live.
TODAY
Verified principal required
An agent is never an anonymous economic actor. Every request traces back to a verified organization and a named agent principal.
PARTLY LIVE
Idempotency Key
POST /api/intake already honours an Idempotency-Key header: a retry returns the original reference instead of queueing the job twice. Be aware of the limit — it is currently held in worker memory, so a retry landing on another isolate is not recognised. Durable idempotency ships with the database.
PLANNED
Budget limits, enforced server-side
Maximum single-task budget, daily limit and monthly limit are configured per agent principal. A request exceeding any limit fails closed with a typed error, not a partial success.
PLANNED
Category and location limits
An agent principal can be restricted to specific task categories and to Hamburg, Germany. Prohibited or uncertain categories are held for manual review, never auto-blocked or auto-dispatched.
PLANNED
Versioned, stable errors
The API is versioned from 0.2.0-preview; breaking changes are expected before a 1.0. Error responses are designed to carry a stable machine-readable code, not just a human-readable message.
TODAY
Evidence is private by default
Evidence files are never public by default and are not indexed. Access will be via signed, time-limited URLs once evidence upload ships.
TODAY
Location attestation, not verified GPS
A task's location field is an operator attestation based on device or browser geolocation — not spoofing-proof GPS verification. We will not call it "verified GPS" until an anti-spoofing mechanism actually exists.
PLANNED
Retention and deletion
A per-data-class retention policy and an export/delete workflow are part of the architecture before evidence upload goes live — not an afterthought.
MCP TOOLS (PLANNED)
search_available_operators
quote_real_world_task
create_real_world_task
get_task
get_task_status
get_task_evidence
cancel_taskCurrent MCP status: /mcp reports 501 until these tools are live. A listed-but-non-functional MCP server is worse than none — it will not be registered in any directory before it actually works.
- Is this API live?
- No. It is a published contract preview. Endpoints described here currently respond 501 Not Implemented. Use the human-reviewed intake at /task until production dispatch is enabled.
- Can an agent create a task without human review?
- No, and this will not change silently. Every task, prohibited or uncertain, is manually reviewed before an operator is contacted — this is a fixed product guardrail, not a temporary beta limitation.
- How are duplicate task creations prevented?
- Task creation is designed to be idempotent: the caller supplies an idempotency key, and a retried request with the same key returns the original task instead of dispatching a second operator.
- What stops an agent from overspending?
- Every agent principal is configured with a maximum single-task budget and a daily and monthly spending limit. A request that would exceed a limit is designed to fail closed, not to partially execute.
Machine-readable: /openapi.json · /llms.txt · agent-card.json. Human-reviewed intake in the meantime: /task.