docs.vin

ai

The ai noun — identity, lifecycle, events, and every capability as an anchored section: 2 capabilities, 1 live, 1 sandbox, 0 declared.

ai is one of the estate's 317 automotive nouns — a job a car needs done. It carries 2 capabilities: 1 live, 1 sandbox, 0 declared · doors apis.vin · mandate.vin.

Identity

Nounai
PillarAI (facets: 1 services · 1 commerce)
Capabilities2 — 1 live · 1 sandbox · 0 declared
EntitiesConnection
Doorsapis.vin · mandate.vin
SDKVin.ai.* from apis.vin
Address/catalog/ai#{action} — the anchor IS the wire name minus ai.

Events

The vocabulary this noun can append to the record — 6 past-tense, versioned event types, each linked to the capability that emits it:

More actions

estateMcp

ai.estateMcp · GET /ais/estate-mcp · gate key · live · answers McpResult@1

Promoted — earned its own page: /catalog/ai.estateMcp (computed on every regen: live on the wire + price posted + cited 6× across the journeys).

FieldTypeRequiredNotes
toolstringyesone of search, fetch, exec
querystringnosearch: over /catalog + facet names + workflow steps
idstringnofetch: any estate GET address — {vin}, subjectId, /catalog/{name}, evt_… id, door record face
codestringnoexec: source bound to the three-strata vin SDK in a sandboxed isolate

Delegated calls require a typed Mandate{ ceiling, perAction, expires, tripwires }; the ceiling is a field, not a conversation.

Doorapis.vin serves this noun on its two routes: / (the landing) · /JF2GTHNCXM8201274 (the VIN lens).

Try it — live: answers on the wire today. A sandbox key still selects the deterministic simulated mode — drive the full outcome range with the magic triggers.

the SDK — ai.estateMcp
import { ai } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await ai.estateMcp({"tool":"search"})
GET /ais/estate-mcp
curl 'https://apis.vin/ais/estate-mcp?tool=search'

mandates

ai.mandates · GET /ais/mandates · gate human · sandbox · answers Mandate@1

FieldTypeRequiredNotes
verbstringyesone of mint, grant, present, revoke
principalstringyesthe human/party granting authority (pty_…)
granteestringnothe agent receiving authority (agt_…)
ceilingstringnodecimal-string total spend cap
perActionstringnodecimal-string per-act cap
expiresstringnoformat date-time
scopearray<string>nocapability names the mandate authorizes
tripwiresarray<string>noevents that force NEEDS_HUMAN (e.g. ProxyBid.capped@1)

The gate is a 403 NEEDS_HUMAN — the human verb authorize · demand side, routed to a named, staffed, priced terminus with a poll rail. Never a dead end. Price: free — $0.00, posted.

Doormandate.vin serves this noun on its two routes: / (the landing) · /JF2GTHNCXM8201274 (the VIN lens).

Try it — sandbox: every call answers a deterministic, provenance-labeled simulated payload ({ environment, simulated } in the body). Force any documented outcome with the magic triggers. Going live is a connect, never a ballot: submit the credential at integrates.vin (dealer systems) or connects.vin (consumer accounts) — submissions enter the activation queue and rank live rollout.

EmitsMandate.capped@1 · Mandate.expired@1 · Mandate.granted@1 · Mandate.minted@1 · Mandate.presented@1 · Mandate.revoked@1.

the SDK — ai.mandates
import { ai } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await ai.mandates({"verb":"mint","principal":"principal"})
GET /ais/mandates
curl 'https://apis.vin/ais/mandates?verb=mint&principal=principal'

Receipt — the sandbox wire answered the request above with this exact body at build time. Captured by the receipts runner (timestamped, provenance in the payload), never authored; it re-executes only when this descriptor changes.

receipt · executed 2026-08-16T14:50:09.595Z · HTTP 200
{
  "type": "OK",
  "answers": "Mandate@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "ai",
    "asOf": "2026-08-10",
    "mandateId": "MND-38c65ce4"
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "ai",
    "asOf": "2026-08-10",
    "mandateId": "MND-38c65ce4"
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "connection-wire-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": true
  }
}

Data model

The record shape behind this noun — one entity, each property an evidence field. See the whole estate model on the data model page.

Connection

Modeled

The noun drawn out — its record shape, its lifecycle, and how it is exercised end to end. 2 diagrams, rendered from the estate model.

Ai · Class model

Ai · Sequence


Generated from the catalog. Every capability, answer, gate, and entity on this page is a rendered descriptor — it cannot drift from the wire.