Object Invocation Protocol · protocol specification

Curl Examples for OIP

#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
## §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-curl-examples
**Machine bundle:** https://miscsubjects.com/api/articles/oip-curl-examples/bundle?format=markdown
**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.

What Curl Examples for OIP Are

curl is a command-line tool. It lets you send data to or get data from a server. A server is a computer program that provides services to other programs. curl helps you talk to web addresses directly from your computer's terminal.

OIP stands for Object Invocation Protocol. It is a way to make computers do things using simple web links. These links are called endpoints. An endpoint is a specific URL where a server receives requests. curl helps you use these OIP endpoints directly. This article shows specific examples of how to do that.

Why This Build Cares About It

The miscsubjects.com build uses OIP. curl is a direct way to interact with OIP objects. It shows how OIP works without needing a web browser or complex code. This is useful for testing OIP objects. It is also good for automating tasks. curl demonstrates a core principle of OIP: any model that can open a URL can act. For more on OIP, see /a/oip and /a/oip-build-overview.

How to See or Use It Live with Curl Against https://miscsubjects.com

You can use curl to invoke OIP objects or retrieve information. All examples use https://miscsubjects.com.

Invoking an OIP Object (GET Request)

You can invoke an OIP object using a GET request to the /api/dispatch endpoint. You provide the key of the object to invoke and a body of data. The body is the input for the object.

bash
curl "https://miscsubjects.com/api/dispatch?invoke=hello-world&body=Hello%20from%20curl%20GET"

This command asks the hello-world object to process the text "Hello from curl GET". The server will respond with the object's output. It will also include an inv_ID (invocation ID) in the response. This inv_ID is a unique identifier for your request. You can use it later to check the receipt.

Invoking an OIP Object (POST Request)

You can also invoke an OIP object using a POST request to the /api/dispatch endpoint. This is useful for sending more complex data. You send the key and body as a JSON (JavaScript Object Notation) object. JSON is a standard format for sending data.

bash
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"key":"hello-world","body":"Hello from curl POST example"}' \
  https://miscsubjects.com/api/dispatch

Here, -X POST tells curl to use the POST method. -H "Content-Type: application/json" tells the server you are sending JSON data. -d provides the JSON data itself. Like with GET, the server responds with the object's output and an inv_ID.

Getting an Article

You can retrieve the content of an OIP article using the /api/articles endpoint. You specify the slug of the article.

bash
curl "https://miscsubjects.com/api/articles?slug=oip-curl-examples"

This command fetches the content of this very article. The server returns the article's title and body in JSON format. For more on articles, see /a/oip-articles-content-plane.

Getting a Receipt

After invoking an OIP object, you get an inv_ID. You can use this ID to retrieve a receipt for your invocation. A receipt is a record of what happened.

First, perform an invocation (like the GET or POST examples above) and note the inv_ID from the response. Let's assume you got inv_1234567890abcdef.

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

This command fetches the receipt for that specific invocation. The receipt confirms that the invocation happened and shows its details. For more details on receipts, see /a/oip-ledger-receipts.

How It Relates to MCP When Relevant

OIP (Object Invocation Protocol) differs from MCP (Model Context Protocol). MCP is an open standard where an AI model connects to an MCP server over a session. The server exposes tools, resources, and prompts the model can call. OIP, however, uses plain URLs and receipts with no persistent session. curl directly shows this difference.

With curl, you make a single, independent request. There is no ongoing session to manage. Each curl command is a new interaction. This stateless nature is a key feature of OIP. It allows any model or tool that can open a URL to act. MCP, while it might use curl internally to call tools, is built around the concept of a session. For a deeper comparison, see /a/oip-mcp-comparison.

Where the Proof Lives

Every OIP invocation, whether through curl or another method, lands in an append-only ledger. This ledger is a permanent record of all actions. A unique receipt is generated for each invocation. You can retrieve this receipt using curl with the inv_ID, as shown above. The receipt confirms that your invocation was processed and recorded. This ledger and the receipts provide an auditable trail of all OIP activity. You can learn more at /a/oip-ledger-receipts.

Latest clarity reviews (live)

Fresh models are sent this article's bundle and asked two separate questions: how clear is the machine JSON, and how clear is the English body. Scores are 0 to 10. The full history is in the append-only ledger.

  • 2026-07-03 03:03 · model gemini/gemini-2.5-flash · PASS · JSON 9/10 · English 8/10 · zero-context human 8/10

- gaps named: oip-owner-auth; oip-create-object

How the loop self-corrects: a failing review queues a model revision of this article (a new append-only version). A missing concept named by a reviewer queues a brand-new machine-written article, which then enters the same review cycle.

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 Curl Examples for OIP. 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-curl-examples · posted 2026-07-02 · updated 2026-07-02
Ledger API & provenance
Provenance · 1 model pass · 0 tokens · $0 · 1 model
chain head virtual-oip
generate system/oip_articles · 2026-07-02 23:01 · 0 tok · virtual-oip
verify chain →
Live ledger · 12 payloads · 7 turns
recent activity · inspect
PROTOCOL_RUN dispatch · 2026-07-03 03:03 · t_qn5zg29q
PROTOCOL_RUN dispatch · 2026-07-03 03:03 · t_qn5zg29q
OIP_ARTICLE_REVIEW oip-review · HTTP 200 · 2026-07-03 03:03 · t_5v2uh966
PROTOCOL_RUN dispatch · 2026-07-03 01:07 · t_wt70qxw3
PROTOCOL_RUN dispatch · 2026-07-03 01:07 · t_wt70qxw3
OIP_ARTICLE_WRITE oip-review · HTTP 200 · 2026-07-03 01:07 · t_6ue7gcv4
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…