Purpose (normative)
RetrieveResponse is returned by a publisher’s AIP retrieve endpoint in response to a valid RetrieveRequest.
It may return:
- permitted content fragments (chunks),
- citation metadata,
- or an explicit denial.
- full articles when disallowed,
- content outside declared limits,
- any advertising or pricing metadata.
Canonical schema location
Schema summary
| Field | Type | Required | Description |
|---|---|---|---|
aip_version | string | Yes | Must be "0.1". |
request_id | string | Yes | Echoes the request_id from the corresponding RetrieveRequest. |
timestamp | string (date-time) | Yes | ISO 8601 timestamp when the response was generated. |
status | string | Yes | ok, denied, or error. |
content | object | When status is ok | Contains chunks (array of chunk objects). |
citations | array | No | Citation metadata for returned content. |
limits_applied | object | No | Publisher-enforced limits (max_chunks, max_tokens). |
denial | object | When status is denied | Reason and optional message. |
error | object | When status is error | Code and optional message (technical failure). |
extensions | object | No | Namespaced extensions. |
Chunk (content.chunks[])
- id — Publisher-defined chunk identifier. Required.
- text — Content text. Required.
- token_count — Optional token count.
Citation
- source_url — Canonical URL of the cited source. Required.
- title — Optional source title.
- publisher — Publisher name.
- chunk_ids — IDs of chunks this citation applies to.
Denial reasons (canonical)
| Reason | Meaning |
|---|---|
out_of_scope | Intent not in editorial_domains. |
access_disabled | intent_access.enabled = false or state not active. |
policy_violation | Request violated declared constraints. |
rate_limited | Publisher throttling. |
unsupported | Publisher does not support requested access. |
Semantics (important, not optional)
Status handling
ok→ Content returned incontent.chunks. Citations optional.denied→ No content returned;denial.reason(and optionalmessage) provided.error→ Technical failure, not a consent decision;error.code(and optionalmessage).
content and denial.
Content rules
- Only chunks may be returned.
- Full articles MUST NOT be returned when
full_article: false(peraip.json). - Returned chunks MUST respect
max_chunksandmax_tokensfrom publisher policy.
Citation rules
- Citations MUST reference returned chunks.
- Citations MUST be truthful and canonical.
- Citations MUST NOT imply licensing or ownership transfer.
Example: Successful response
Example: Denied response
Example: Error response
Why this schema fits
- Directly corresponds to
RetrieveRequest. - Fully enforceable against
aip.json. - No ad-tech contamination.
- Explicit denial semantics.
- Audit-friendly.
- Future-safe via extensions.
Schema file
Full JSON Schema (Draft 2020-12): retrieve-response.jsonSee also
- RetrieveRequest — Platform → publisher request that triggers this response.
- aip.json — Publisher Declaration — Declared retrieval limits and editorial_domains.