Fractional Attribution Standalone Report
Schema for standalone attribution report documents delivered outside a session document. The standalone carriage exists because attribution may be computed asynchronously, and by a different emitter than the platform - a third-party attribution provider. Modelled on the standalone event envelope (telemetry-event.json): a document_type discriminator plus session reference.
Properties
| Name | Type | Description |
|---|---|---|
| document_type | string | Document type discriminator. MUST be 'attribution_report'. Extends the delivery-format set of spec 7.1; consumers that do not support this extension ignore the document. |
| schema_version | string | The Content Telemetry specification version this document references. |
| extension_version | string | Fractional attribution extension version (date string). |
| session_id | string | The session whose output is attributed. REQUIRED - a report is meaningless unreferenced. Consumers join on session_id (and each report's turn_id) and MUST tolerate reports for sessions they have not y |
| agent_id | string | The agent that produced the attributed output (mirrors the session field; aids joining when the session document arrives late). |
| reporter | object | Who computed these reports. REQUIRED on standalone documents - the point of this carriage is that the reporter may not be the platform. |
| reports | array | Attribution reports, all for the session named by session_id (per-turn via each report's turn_id). Reports for different sessions MUST be delivered as separate documents, as with event batches (spec 7 |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://contenttelemetry.org/extensions/attribution/attribution-report.json",
"$comment": "Extension of Content Telemetry v0.1. Canonical specification: https://contenttelemetry.org. This URI is reserved for registration; it does not resolve yet. Extension: org.contenttelemetry.attribution, version 2026-07-13. PROPOSAL DRAFT.",
"title": "Fractional Attribution Standalone Report",
"description": "Schema for standalone attribution report documents delivered outside a session document. The standalone carriage exists because attribution may be computed asynchronously, and by a different emitter than the platform - a third-party attribution provider. Modelled on the standalone event envelope (telemetry-event.json): a document_type discriminator plus session reference.",
"type": "object",
"required": ["document_type", "schema_version", "extension_version", "session_id", "reporter", "reports"],
"properties": {
"document_type": {
"type": "string",
"const": "attribution_report",
"description": "Document type discriminator. MUST be 'attribution_report'. Extends the delivery-format set of spec 7.1; consumers that do not support this extension ignore the document."
},
"schema_version": {
"type": "string",
"const": "0.1",
"description": "The Content Telemetry specification version this document references."
},
"extension_version": {
"type": "string",
"const": "2026-07-13",
"description": "Fractional attribution extension version (date string)."
},
"session_id": {
"type": "string",
"format": "uuid",
"description": "The session whose output is attributed. REQUIRED - a report is meaningless unreferenced. Consumers join on session_id (and each report's turn_id) and MUST tolerate reports for sessions they have not yet received, exactly as they reconstruct sessions from standalone events (spec 7.1)."
},
"agent_id": {
"type": "string",
"description": "The agent that produced the attributed output (mirrors the session field; aids joining when the session document arrives late)."
},
"reporter": {
"$ref": "attribution-extension.json#/$defs/Reporter",
"description": "Who computed these reports. REQUIRED on standalone documents - the point of this carriage is that the reporter may not be the platform."
},
"reports": {
"type": "array",
"minItems": 1,
"items": { "$ref": "attribution-extension.json#/$defs/AttributionReport" },
"description": "Attribution reports, all for the session named by session_id (per-turn via each report's turn_id). Reports for different sessions MUST be delivered as separate documents, as with event batches (spec 7.1)."
}
},
"additionalProperties": true
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/gist-attribution-report"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.