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/tagsDELETE /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 honorIf-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.