Platforms
A platform is any service that sits between agents, content owners, and end users: a content marketplace, an affiliate or ad network, an attribution vendor, an analytics tool, a monetisation platform. You can emit telemetry events on behalf of others, read telemetry that content owners delegate to you, or both. This page is the setup flow common to all of them; the deep dives are linked at the end.
Two things a platform can do. Pick one or both - they're the same org, one API key, different scopes.
- Emit events (
telemetry:write) - reportcontent_retrievedwhen an agent fetches content through you, andcontent_engaged(pluscheckout_completedfrom the ACP commerce extension) when a user clicks through from an AI response. - Read delegated telemetry (
telemetry:read) - a content owner grants your org read access; you query their telemetry through the same API they use, with adelegated_fromparameter.
Platform access is by approval - a human reviews each request, usually a working day or two. Content owners stay self-serve.
Setup, step by step
Request access
Go to /signup/platform and submit your platform name and an admin email. After you verify the email, we ask one question: what your platform does and who you work with. That creates a gated platform-access request - nothing is visible to other parties yet.
Wait for approval
The request lands with the OA director automatically. Review is manual - usually a working
day or two. If you sign back in while it's in flight, you'll see your status at /onboarding/pending and a banner on every dashboard
page.
Approval email
Once approved, we create your platform org and give your admin email the owner role. Sign in via magic link at /signin.
Find your organisation ID
Go to /partners. Your org ID
is at the top with a copy button. A content owner pastes this into their dashboard to
delegate telemetry:read on their domain to you. Only
needed if you'll read delegated data - for "report my own emissions", no delegation is
required.
Mint an API key
Go to /api-keys → Create
key. Scope it to telemetry:write to report events, telemetry:read to query delegated telemetry, or both.
The raw key (oat_pk_...) is shown once - put it on the X-API-Key header.
Send your first event (or first query)
Reporting a retrieval an agent made through you - no session needed, the marketplace doesn't see the agent's conversation:
curl -X POST https://telemetry.openattribution.org/events \
-H "X-API-Key: oat_pk_..." \
-H "Content-Type: application/json" \
-d '{
"events": [
{
"type": "content_retrieved",
"timestamp": "2026-05-11T10:00:01Z",
"source_role": "index",
"content_url": "https://example.com/article/best-headphones",
"content_id": "doi:10.1000/example.123",
"content_telemetry_id": "550e8400-e29b-41d4-a716-446655440000",
"data": { "media_type": "text" }
}
]
}'Or, once a content owner has delegated read access, reading their telemetry:
curl "https://api.openattribution.org/content-owners/summary?delegated_from=<owner-org-id>&since=2026-05-01" \
-H "X-API-Key: oat_pk_..."Watch it land
/dashboard shows "your platform this week" - event totals, top destination domains (which content owners' content you've served most), and a recent activity feed. Delegated telemetry shows up under /partners → View telemetry.