Standards
An Interface speaks a Standard through one translator the platform writes once; a Startup maps the Standard's operations onto its own Verbs.
A Standard is an outside spec an Interface also speaks, so its callers reach a Product's Verbs unchanged. The platform writes each Standard once as a translator, and a Startup maps the Standard's operations onto its own Verbs.
Why Standards exist
Every route on every API compiles from a Verb, and nobody writes a route by hand. That holds while every caller speaks the Product's own grammar.
Some callers arrive in a shape someone else defined. A model client posts chat completions, a Customer's identity provider provisions users with SCIM, and a file tool speaks S3.
A Standard answers those callers without opening the door to hand-written routes. A path that no Standard covers is refused.
Declare a mapping
listsmith.ai sells an Agent that writes product listings through its own Verb, Listing.write. Its developer Customers already call models through chat-completions clients and want to switch by changing the base URL. The Startup's API Interface declares one mapping in conformsTo:
conformsTo: [
{ standard: 'openai-chat', operations: { 'chat.completions.create': 'Listing.write' } },
]A Customer's client then posts to https: with its usual request and reads the usual response. The Standard's path sits on the Startup's own API host, under its Publication.
What the translator does
The translator accepts the request in the Standard's shape and runs the mapped Verb as an ordinary Action. Everything a native call gets, the translated call gets:
| On every translated call | Detail |
|---|---|
| Keys and Permissions | The caller's key and Role, checked as on any route |
| Limits and Meters | The same Limits apply, and usage meters against the caller's Subscription |
| Events and history | One Action, its Events, and its record, kept forever |
| Errors | Each refusal returned in the Standard's own error shape |
A Startup writes no translation code. A second Agent Product declares its own mapping and gets the same translator, so a fix to it reaches every Startup that speaks the Standard.
Standards the platform speaks
| Standard | Callers | Maps onto |
|---|---|---|
| SCIM 2.0 | A Customer's identity provider provisioning its people | Tenant.invite and membership Verbs |
| Chat completions | Model clients calling an Agent Product | The Agent's own Verb, such as Listing.write |
| S3 | Clients that read and write stored objects | File Verbs |
| OIDC discovery | Clients signing in to a Startup as an authorization server | The Startup's sign-in |
| RSS | Feed readers following a Site | Page lists |
| Standard Webhooks | Receivers verifying deliveries | Every Watch delivery (Webhooks) |
A Standard records its spec, the path where its translator answers, and the operations it accepts. List them with Standard.list.