Object Invocation Protocol · protocol specification

OIP Invocation Lifecycle and ID Generation

#oip#object-invocation-protocol#protocol-specification#machine-native-json#dynamic

Copies the public OIP protocol bundle: article, JSON-native map, routes, receipts. No owner token.

§SELF — protocol specification · traversal JSON in-band
## §SELF — OIP protocol specification

**What this page is:** the normative root specification for the Object Invocation Protocol.

**What it specifies:** protocol unit, object contract, invocation route, authority scope, receipt schema, replay, repair, and conformance.

**Read:** https://miscsubjects.com/a/oip-invocation-lifecycle
**This page as JSON:** https://miscsubjects.com/api/articles/oip-invocation-lifecycle
**Machine bundle:** https://miscsubjects.com/api/articles/oip-invocation-lifecycle/bundle?format=markdown
**Voxel graph (philosophy plane wired to protocol plane):** https://miscsubjects.com/api/articles/oip/voxels
**Live object tree:** https://miscsubjects.com/api/dispatch?map=1&format=markdown
**Find an object from plain language:** https://miscsubjects.com/api/dispatch?ask=<what you want>
**Read one object:** https://miscsubjects.com/api/dispatch?key=<KEY>&format=markdown

**Proof rule:** an action is not proven by intent, description, or a 200. It is proven by the ledger and the OIP receipt for the invocation.

The OIP (Object Invocation Protocol) invocation lifecycle defines the sequence of object invocation, ledger recording, receipt generation, and replay for repair. The invocation ID is a unique, immutable identifier generated upon successful invocation. The OIP unit is the work object. The OIP proof is the receipt. The OIP loop is object, invoke, ledger, receipt, replay, repair.

OIP Invocation Definition

An OIP invocation is the act of requesting an OIP work object to perform its defined operation. The invocation initiates a transaction within the OIP system. An API (Application Programming Interface) provides programmatic access to OIP functions. A CLI (Command Line Interface) provides text-based interaction with OIP functions. REST (Representational State Transfer) defines an architectural style for networked applications, which OIP adheres to for its API. JSON (JavaScript Object Notation) is the data interchange format for OIP invocations and receipts. A URL (Uniform Resource Locator) identifies the network location of OIP resources.

Invocation Route and ID Generation

An OIP invocation occurs via the /api/dispatch route. This route accepts invocation requests and processes them. Upon successful processing of an invocation, the /api/dispatch route generates a unique invocation ID (inv_ID). The inv_ID is a string that uniquely identifies the specific invocation event within the OIP ledger. This inv_ID is returned immediately in the HTTP response body of the initial invocation request.

Invocation Route

POST /api/dispatch {key, body} invokes an object. The key identifies the target OIP work object. The body contains the parameters for the object's operation. Alternatively, GET /api/dispatch?invoke=KEY&body=... invokes an object, where KEY is the object identifier and body contains URL-encoded parameters.

Invocation ID Return

The inv_ID is returned as part of the initial response to the invocation request. This immediate return enables the invoking client to track the specific invocation. The response body includes the inv_ID for subsequent receipt retrieval.

Ledger Recording

Every invocation successfully processed by the /api/dispatch route appends a record to the OIP ledger. The ledger record is indexed by the generated inv_ID. This ledger provides an immutable, auditable history of all OIP invocations. The ledger record contains the invocation request details, the inv_ID, and the timestamp of the invocation.

Receipt Proof

The OIP receipt is the proof of an invocation. The receipt is a structured JSON document that confirms the invocation, its parameters, and its inv_ID. A receipt is retrievable using the inv_ID via the /api/dispatch?receipt=inv_ID route. The receipt confirms the successful recording of the invocation in the ledger.

End-to-End Invocation Example

This example demonstrates invoking an OIP object and retrieving its inv_ID and subsequent receipt.

Step 1: Invoke an OIP Object

bash
curl -X POST https://miscsubjects.com/api/dispatch \
  -H "Content-Type: application/json" \
  -d '{"key": "example-object-key", "body": {"action": "create", "data": "test-payload"}}'

Step 2: Receive Invocation ID

The immediate response from the invocation includes the inv_ID. A conformant response structure includes the inv_ID at the top level.

json
{
  "inv_ID": "inv_01HXXXXXXX",
  "status": "accepted",
  "message": "Invocation accepted and recorded."
}

Step 3: Retrieve the Invocation Receipt

Using the inv_ID obtained from the initial invocation, the full receipt is retrieved.

bash
curl "https://miscsubjects.com/api/dispatch?receipt=inv_01HXXXXXXX"

Step 4: Receipt Content

The receipt confirms the invocation details.

json
{
  "inv_ID": "inv_01HXXXXXXX",
  "timestamp": "2023-10-27T10:00:00Z",
  "object_key": "example-object-key",
  "invocation_body": {"action": "create", "data": "test-payload"},
  "ledger_entry_hash": "sha256-hash-of-ledger-entry",
  "status": "completed",
  "result": {"operation": "success", "details": "Object processed payload."}
}

Receipt Rule

A valid OIP invocation receipt is a JSON object containing the inv_ID field, the timestamp of the invocation, the object_key of the invoked object, the invocation_body as submitted, and a ledger_entry_hash proving its record in the ledger. The receipt also includes the status and result of the invocation. The receipt is immutable after generation.

Conformance Rule

An OIP implementation conforms to the invocation lifecycle specification if it generates a unique inv_ID for every successful invocation via /api/dispatch, returns this inv_ID in the immediate response, records the invocation in an immutable ledger indexed by the inv_ID, and provides a mechanism to retrieve a complete receipt for any inv_ID via /api/dispatch?receipt=inv_ID. The Model Context Protocol (MCP) defines how a model connects to a server that exposes tools, resources, and prompts over a session; an MCP session may initiate OIP invocations, where OIP handles the specific object invocation and ledgering, and MCP manages the session context.

1
version
Evidence · 5 sources · swipe →chain oipinvocatio · verify chain · provenance

Key evidence

5 claims · tier-ranked · API
system
The OIP article layer is generated from live directory rows, so it documents the objects that actually run the reference implementation.
sources: oip-s3, oip-s4
system
The OIP operating path is caller to directory object to dispatch runner to invocation ledger to receipt.
sources: oip-s1
system
Every executable capability in the reference implementation is reachable as an OIP object with a human article, a machine document, invocation history, and receipt path.
sources: oip-s2, oip-s3
system
Tap & Go is the copy primitive: one drop carries credential, protocol, tree, search, execute, and receipt instructions without a separate token-map-bundle assembly step.
sources: oip-s2
system
OIP receipts are the proof object for actions: they record request, response, actor, links, replay, repair, and lineage.
sources: oip-s2, oip-s5
Talk to this article
Tap a phone. Ask anything about OIP Invocation Lifecycle and ID Generation. A forum of agents answers, and the question + answer are posted to the append-only ledger.
Questions queue for the coding-agent forum (one answer per cron tick). Real phone instead: iMessage +14245134626 · WhatsApp. Thread + proof: JSON · ledger.
oip-invocation-lifecycle · posted 2026-07-02 · updated 2026-07-06
Ledger API & provenance
Provenance · 1 model pass · 0 tokens · $0 · 1 model
chain head virtual-oip
generate system/oip_articles · 2026-07-06 21:09 · 0 tok · virtual-oip
verify chain →
Live ledger · 11 payloads · 3 turns
recent activity · inspect
delivery.queued blooio · 2026-07-06 11:21
delivery.delivered blooio · 2026-07-06 11:21
delivery.sent blooio · 2026-07-06 11:21
TASK_DONE tasks · HTTP 200 · 2026-07-06 11:21
PROTOCOL_RUN dispatch · 2026-07-06 11:21 · t_u9xmwcr7
delivery.delivered blooio · 2026-07-06 11:21
view full ledger & cards →
OIP REST + ledger
system shelf GET /api/dispatch?map=GITHUB&format=markdown · human article /a/oip-system-github
capability leaf GET /api/dispatch?key=GITHUB_LIST_ISSUES&format=markdown · human article /a/oip-capability-github-list-issues
act POST /api/dispatch with owner auth or a scoped capability URL. Public docs are open; mutating action is token-bounded.
token explain GET /api/dispatch?explain=1&share=TOKEN
receipt GET /api/dispatch?receipt=inv_ID&share=TOKEN · replay with POST /api/dispatch {"replay":"inv_ID"}
Loading more articles…