docs.vin

nmvtis

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

nmvtis is one of the estate's 317 automotive nouns — a job a car needs done. It carries 8 capabilities: 0 live, 8 sandbox, 0 declared · doors aggregator.vin.

Identity

Nounnmvtis
PillarData (facets: 3 data · 3 services · 2 commerce)
Capabilities8 — 0 live · 8 sandbox · 0 declared
EntitiesTitle
Doorsaggregator.vin
SDKVin.nmvtis.* from apis.vin
Address/catalog/nmvtis#{action} — the anchor IS the wire name minus nmvtis.

Events

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

Discover & read

status

nmvtis.status · GET /nmvtis/status · gate none · sandbox · answers NmvtisStatus@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

the SDK — nmvtis.status
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.status({"vin":"1C4AJWAG2HL652547"})
GET /nmvtis/status
curl 'https://apis.vin/nmvtis/status?vin=1C4AJWAG2HL652547'

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-17T12:42:14.337Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisStatus@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "record": {
      "reported": true,
      "brands": [
        "salvage"
      ],
      "titleStatus": "salvage-brand",
      "position": "Ordered"
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "record": {
      "reported": true,
      "brands": [
        "salvage"
      ],
      "titleStatus": "salvage-brand",
      "position": "Ordered"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

report

nmvtis.report · POST /nmvtis/report · gate offer · sandbox · answers NmvtisReport@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

EmitsNmvtis.reportRequested@1 · Nmvtis.reported@1.

the SDK — nmvtis.report
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.report({"vin":"1C4AJWAG2HL652547"})
POST /nmvtis/report
curl -X POST https://apis.vin/nmvtis/report \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4AJWAG2HL652547"}'

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-17T12:42:14.324Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisReport@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "report": {
      "status": "reported",
      "id": "NMR-7ceb4d63",
      "brands": [
        "salvage"
      ]
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "report": {
      "status": "reported",
      "id": "NMR-7ceb4d63",
      "brands": [
        "salvage"
      ]
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Quote & price

fee

nmvtis.fee · POST /nmvtis/fee · gate offer · sandbox · answers NmvtisFee@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

EmitsNmvtis.feeCharged@1 · Nmvtis.feeRequested@1.

the SDK — nmvtis.fee
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.fee({"vin":"1C4AJWAG2HL652547"})
POST /nmvtis/fee
curl -X POST https://apis.vin/nmvtis/fee \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4AJWAG2HL652547"}'

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-17T12:42:14.314Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisFee@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "fee": {
      "status": "no-census-fee-posted"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "fee": {
      "status": "no-census-fee-posted"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

nmvtis.pay · POST /nmvtis/pay · gate offer · sandbox · answers NmvtisPay@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

EmitsNmvtis.paid@1 · Nmvtis.payFailed@1 · Nmvtis.payRequested@1.

the SDK — nmvtis.pay
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.pay({"vin":"1C4AJWAG2HL652547"})
POST /nmvtis/pay
curl -X POST https://apis.vin/nmvtis/pay \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4AJWAG2HL652547"}'

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-17T12:42:14.316Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisPay@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "payment": {
      "status": "no-census-fee-posted"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "payment": {
      "status": "no-census-fee-posted"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

reconcile

nmvtis.reconcile · POST /nmvtis/reconcile · gate offer · sandbox · answers NmvtisReconcile@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

EmitsNmvtis.reconcileRequested@1 · Nmvtis.reconciled@1.

the SDK — nmvtis.reconcile
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.reconcile({"vin":"1C4AJWAG2HL652547"})
POST /nmvtis/reconcile
curl -X POST https://apis.vin/nmvtis/reconcile \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4AJWAG2HL652547"}'

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-17T12:42:14.323Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisReconcile@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "reconciliation": {
      "status": "reconciled",
      "discrepancies": [],
      "sources": [
        "world-brand-truth",
        "title-brand-bench"
      ],
      "reported": true
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "reconciliation": {
      "status": "reconciled",
      "discrepancies": [],
      "sources": [
        "world-brand-truth",
        "title-brand-bench"
      ],
      "reported": true
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

certify

nmvtis.certify · POST /nmvtis/certify · gate offer · sandbox · answers NmvtisCertify@1

FieldTypeRequiredNotes
vinstringno

The gate is a 402 OFFER — the price and a hard ceiling on the wire, with a durable intent that executes on settlement. Never a wall, never "contact sales". Price: not posted — see /pricing.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

EmitsNmvtis.certified@1 · Nmvtis.certifyRequested@1.

the SDK — nmvtis.certify
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.certify({"vin":"1C4AJWAG2HL652547"})
POST /nmvtis/certify
curl -X POST https://apis.vin/nmvtis/certify \
  -H 'content-type: application/json' \
  -d '{"vin":"1C4AJWAG2HL652547"}'

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-17T12:42:14.312Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisCertify@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "certification": {
      "id": "NMC-dc91589e",
      "status": "certified",
      "reportedCount": 11
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "certification": {
      "id": "NMC-dc91589e",
      "status": "certified",
      "reportedCount": 11
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

batchQuery

nmvtis.batchQuery · GET /nmvtis/batch-query · gate none · sandbox · answers NmvtisBatchQuery@1

No input — this capability takes no request body.

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

the SDK — nmvtis.batchQuery
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.batchQuery()
GET /nmvtis/batch-query
curl 'https://apis.vin/nmvtis/batch-query'

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.936Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisBatchQuery@1",
  "value": {
    "vin": "1HGCM82633A004352",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-6eade2d4",
    "state": "AZ",
    "brands": [],
    "records": [
      {
        "vin": "1HGCM82633A004352",
        "reported": false,
        "brands": [],
        "titleStatus": "clear"
      }
    ],
    "count": 1
  },
  "evidence": {
    "vin": "1HGCM82633A004352",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-6eade2d4",
    "state": "AZ",
    "brands": [],
    "records": [
      {
        "vin": "1HGCM82633A004352",
        "reported": false,
        "brands": [],
        "titleStatus": "clear"
      }
    ],
    "count": 1
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

query

nmvtis.query · GET /nmvtis/query · gate none · sandbox · answers NmvtisQuery@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1C4AJWAG2HL652547 (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.

the SDK — nmvtis.query
import { nmvtis } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await nmvtis.query({"vin":"1C4AJWAG2HL652547"})
GET /nmvtis/query
curl 'https://apis.vin/nmvtis/query?vin=1C4AJWAG2HL652547'

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-17T12:42:14.316Z · HTTP 200
{
  "type": "OK",
  "answers": "NmvtisQuery@1",
  "value": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "record": {
      "reported": true,
      "brands": [
        "salvage"
      ],
      "titleStatus": "salvage-brand",
      "position": "Ordered"
    }
  },
  "evidence": {
    "vin": "1C4AJWAG2HL652547",
    "noun": "nmvtis",
    "asOf": "2026-08-10",
    "titleId": "TTL-09202ab6",
    "state": "AZ",
    "brands": [
      "salvage"
    ],
    "status": "Ordered",
    "record": {
      "reported": true,
      "brands": [
        "salvage"
      ],
      "titleStatus": "salvage-brand",
      "position": "Ordered"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "title-tail-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

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.

Title

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.

Nmvtis · Class model

Nmvtis · State machine


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