Implement OMP v1.0 — Quick Start

Intro

OMP is a small, stable contract. Implement once → exchange structured data across agents and stacks. Start with the Core endpoints and the Base Object.

Quick links (buttons)

  • Reference Server (Python) »
  • Reference Client (Python) »
  • .well-known/omp-configuration »
  • Conformance Checklist »

1) Base Object (minimal)

{
  "id": "uuid",
  "type": "object",
  "created_at": "2025-08-10T12:03:45Z",
  "updated_at": "2025-08-10T12:03:45Z",
  "payload": {"example":"hello"},
  "metadata": {"tags":["demo"]},
  "consent": {"purpose":"demo"},
  "retention": {"ttl": 31536000},
  "provenance": {"source":"agent://demo"},
  "security": {}
}

2) Required endpoints (Core)

  • POST /objects → create (returns {id})
  • GET /objects/{id} → fetch (returns object + ETag)
  • POST /objects/search → filter by metadata/tags
  • DELETE /objects/{id} → delete → return tombstone (then 410 Gone)
  • GET /.well-known/omp-configuration → capabilities

3) Security baseline

  • HTTPS required (TLS 1.2+).
  • Auth: OAuth2 Bearer or mTLS.
  • Emit ETag on GET and honor If-None-Match.
  • Return 410 Gone for expired/deleted objects.

4) Conformance checklist

  • Endpoints above implemented
  • Required fields validated
  • TLS enforced
  • Auth enforced (OAuth2/mTLS)
  • .well-known/omp-configuration served
  • Deletion → tombstone → 410 flow
  • Access logs contain who/when/why

5) Example .well-known/omp-configuration

{
  "omp_version":"1.0",
  "profiles":["core"],
  "auth":{"methods":["oauth2","mtls"]},
  "endpoints":{"objects":"/objects","search":"/objects/search"},
  "max_object_bytes":1048576
}

6) SDKs & examples

Python client: pip install omp-client (coming soon)

JS/TS client: npm i @omp/client (coming soon)

7) Join founding implementers

Ship your integration, publish results, and we’ll list you on the homepage.