docs.vin

esignature

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

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

Identity

Nounesignature
PillarServices (facets: 3 data · 5 services · 2 commerce)
Capabilities10 — 0 live · 10 sandbox · 0 declared
EntitiesSignatureCeremony
Doorsaggregator.vin
SDKVin.esignature.* from apis.vin
Address/catalog/esignature#{action} — the anchor IS the wire name minus esignature.

Events

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

Discover & read

status

esignature.status · GET /esignatures/status · gate none · sandbox · answers EsignatureStatus@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GJZ7NFP8P1169149 (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 — esignature.status
import { esignature } from 'apis.vin'

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

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:11.085Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureStatus@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "ceremony": {
      "id": "SGN-880da094",
      "packet": {
        "packetId": "DOC-8a840ed2",
        "kind": "vehicle-record",
        "position": "Draft",
        "subject": {
          "dealId": "DL-8a88f8af",
          "position": "QUOTED"
        }
      },
      "standing": "not-yet-routed",
      "position": "Draft"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "ceremony": {
      "id": "SGN-880da094",
      "packet": {
        "packetId": "DOC-8a840ed2",
        "kind": "vehicle-record",
        "position": "Draft",
        "subject": {
          "dealId": "DL-8a88f8af",
          "position": "QUOTED"
        }
      },
      "standing": "not-yet-routed",
      "position": "Draft"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

verify

esignature.verify · GET /esignatures/verify · gate none · sandbox · answers EsignatureVerify@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GJZ7NFP8P1169149 (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 — esignature.verify
import { esignature } from 'apis.vin'

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

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:11.085Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureVerify@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "verification": {
      "ceremonyId": "SGN-880da094",
      "packetId": "DOC-8a840ed2",
      "signaturesValid": false,
      "standing": "not-yet-routed",
      "position": "Draft"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "verification": {
      "ceremonyId": "SGN-880da094",
      "packetId": "DOC-8a840ed2",
      "signaturesValid": false,
      "standing": "not-yet-routed",
      "position": "Draft"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Quote & price

fee

esignature.fee · POST /esignatures/fee · gate offer · sandbox · answers EsignatureFee@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.feeCharged@1 · Esignature.feeRequested@1.

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

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

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:11.078Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureFee@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "fee": {
      "amountCents": 7500,
      "currency": "USD",
      "per": "ceremony"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "fee": {
      "amountCents": 7500,
      "currency": "USD",
      "per": "ceremony"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Apply & book

request

esignature.request · POST /esignatures/request · gate offer · sandbox · answers EsignatureRequest@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.requestRequested@1 · Esignature.requested@1.

the SDK — esignature.request
import { esignature } from 'apis.vin'

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

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:11.082Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureRequest@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "request": {
      "status": "requested",
      "ceremonyId": "SGN-880da094",
      "packetId": "DOC-8a840ed2",
      "signers": [
        {
          "role": "buyer",
          "identityId": "ID-11f17424",
          "name": "Ava Good",
          "status": "not-yet-requested"
        },
        {
          "role": "seller",
          "identityId": "DLR-b9066ade",
          "name": "The Estate Store",
          "status": "not-yet-requested"
        }
      ]
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "request": {
      "status": "requested",
      "ceremonyId": "SGN-880da094",
      "packetId": "DOC-8a840ed2",
      "signers": [
        {
          "role": "buyer",
          "identityId": "ID-11f17424",
          "name": "Ava Good",
          "status": "not-yet-requested"
        },
        {
          "role": "seller",
          "identityId": "DLR-b9066ade",
          "name": "The Estate Store",
          "status": "not-yet-requested"
        }
      ]
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Pay & settle

pay

esignature.pay · POST /esignatures/pay · gate offer · sandbox · answers EsignaturePay@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.paid@1 · Esignature.payFailed@1 · Esignature.payRequested@1.

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

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

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:11.080Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignaturePay@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "payment": {
      "id": "PAY-cd853aca",
      "amountCents": 7500,
      "currency": "USD",
      "status": "settled"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "payment": {
      "id": "PAY-cd853aca",
      "amountCents": 7500,
      "currency": "USD",
      "status": "settled"
    },
    "payer": {
      "name": "Ava Good",
      "castRow": "super-prime",
      "creditTier": "super-prime"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

capture

esignature.capture · POST /esignatures/capture · gate offer · sandbox · answers EsignatureCapture@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.captureFailed@1 · Esignature.captureRequested@1 · Esignature.captured@1.

the SDK — esignature.capture
import { esignature } from 'apis.vin'

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

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:11.076Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureCapture@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "capture": {
      "status": "packet-not-routed",
      "position": "Draft"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "capture": {
      "status": "packet-not-routed",
      "position": "Draft"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Authorize & resolve

decline

esignature.decline · POST /esignatures/decline · gate offer · sandbox · answers EsignatureDecline@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.declineRequested@1 · Esignature.declined@1.

the SDK — esignature.decline
import { esignature } from 'apis.vin'

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

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:11.078Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureDecline@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "decline": {
      "status": "packet-not-routed",
      "position": "Draft"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "decline": {
      "status": "packet-not-routed",
      "position": "Draft"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

Lifecycle & state

void

esignature.void · POST /esignatures/void · gate offer · sandbox · answers EsignatureVoid@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.voidFailed@1 · Esignature.voidRequested@1 · Esignature.voided@1.

the SDK — esignature.void
import { esignature } from 'apis.vin'

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

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:11.087Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureVoid@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "void": {
      "status": "voided",
      "ceremonyId": "SGN-880da094",
      "packetId": "DOC-8a840ed2",
      "position": "Draft"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "void": {
      "status": "voided",
      "ceremonyId": "SGN-880da094",
      "packetId": "DOC-8a840ed2",
      "position": "Draft"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

More actions

auditTrail

esignature.auditTrail · GET /esignatures/audit-trail · gate none · sandbox · answers EsignatureAuditTrail@1

FieldTypeRequiredNotes
vinstringno

Dooraggregator.vin serves this noun on its two routes: / (the landing) · /1GJZ7NFP8P1169149 (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 — esignature.auditTrail
import { esignature } from 'apis.vin'

// the gate law is in the type system: Answer<T> = Ok | Empty | Blocked | Offer
const answer = await esignature.auditTrail({"vin":"1GJZ7NFP8P1169149"})
GET /esignatures/audit-trail
curl 'https://apis.vin/esignatures/audit-trail?vin=1GJZ7NFP8P1169149'

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:11.076Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureAuditTrail@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "auditTrail": {
      "ceremonyId": "SGN-880da094",
      "entries": [
        {
          "event": "packet-prepared",
          "packetId": "DOC-8a840ed2"
        }
      ],
      "count": 1
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "auditTrail": {
      "ceremonyId": "SGN-880da094",
      "entries": [
        {
          "event": "packet-prepared",
          "packetId": "DOC-8a840ed2"
        }
      ],
      "count": 1
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-sandbox"
  },
  "events": [],
  "meter": {
    "charged": "0.00",
    "posted": false
  }
}

witness

esignature.witness · POST /esignatures/witness · gate offer · sandbox · answers EsignatureWitness@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) · /1GJZ7NFP8P1169149 (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.

EmitsEsignature.witnessRequested@1 · Esignature.witnessed@1.

the SDK — esignature.witness
import { esignature } from 'apis.vin'

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

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:11.091Z · HTTP 200
{
  "type": "OK",
  "answers": "EsignatureWitness@1",
  "value": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "witness": {
      "status": "nothing-to-witness",
      "standing": "not-yet-routed",
      "position": "Draft"
    }
  },
  "evidence": {
    "vin": "1GJZ7NFP8P1169149",
    "noun": "esignature",
    "asOf": "2026-08-10",
    "witness": {
      "status": "nothing-to-witness",
      "standing": "not-yet-routed",
      "position": "Draft"
    }
  },
  "provenance": {
    "simulated": true,
    "environment": "sandbox",
    "source": "signing-desk-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.

SignatureCeremony


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