Skip to main content

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.
It MUST NOT return:
  • full articles when disallowed,
  • content outside declared limits,
  • any advertising or pricing metadata.
It is deliberately minimal, rights-preserving, and auditable.

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 in content.chunks. Citations optional.
  • denied → No content returned; denial.reason (and optional message) provided.
  • error → Technical failure, not a consent decision; error.code (and optional message).
A response MUST NOT include both content and denial.

Content rules

  • Only chunks may be returned.
  • Full articles MUST NOT be returned when full_article: false (per aip.json).
  • Returned chunks MUST respect max_chunks and max_tokens from 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.json

See also