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
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)
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.