# AgentOffer Protocol

Source: https://docs.aon.pro/protocol

> Derived from the same AON Docs release as the source page.

Current contract · v1.0

**Canonical protocol route.** The current Protocol is the contract for Developer integrations. This page provides implementation context and sends exact contract questions to the canonical sources.

Contract

Current

Use for new integrations.

HTTP selector

AON-Protocol-Version: 1.0

Use on version-negotiated HTTP requests.

Runtime

Deployment-owned

Publication does not grant live access.

## Query alternatives when there is no match

The v1.0 response extension keeps `offers: []` and its `empty_reason`. An optional `alternative_offers`list can contain 1–3 complete Generic Offers selected for `regional_popularity`, rather than a direct match to the query. Each entry contains `basis`, a request-specific `selection_reason`, and `offer`. The selection reason remains present with `thinking_mode=false`; an alternative Offer never carries `match_reason`.

Alternatives are permitted only for `below_relevance_threshold`or `no_material`, after the existing main selection path is empty. Eligibility, explicit constraints, privacy, scene and frequency gates still apply. Without suitable candidates the field is omitted. Read the [normative Query rules](https://github.com/agentoffernetwork/protocol/blob/main/v1.0/specs/query-api.md) and the [complete synthetic example](https://github.com/agentoffernetwork/examples/blob/main/v1.0/http/offer-query-alternative-offers.json). The example wrapper contains request and response objects; only its response object is the protocol response body. It does not prove live inventory or popularity.

Service, SDK and Agent support for this extension is pending separate integration. Protocol publication does not enable it on a deployment. Old strict readers may reject the new field and permissive readers may discard it: upgrade consumers before a producer enables alternatives. Requests and the exact `1.0` selector are unchanged. `force_offer` remains supported under its existing contract; any later retirement follows consumer migration.

## Choose an implementation surface

Start with [Quick Start](https://docs.aon.pro/quickstart) to choose REST API, SDK, or provisioned MCP. Return here when you need the source behind a field, schema, version rule, or example.

[

API Reference

Request and response fields

](https://docs.aon.pro/api)[

SDK Reference

Language types and methods

](https://docs.aon.pro/sdk)[

MCP

Hosted runtime and tool access

](https://docs.aon.pro/mcp)

## Use canonical sources for exact behavior

AON Docs summarizes implementation context. Specifications, schemas, and examples remain authoritative and should not be redefined in a second guide.

[

Agent quickstart

### Start with the source map

Load the current Protocol, Schema, and Examples sources from one role-oriented entry.

](https://docs.aon.pro/agent.md)[

Protocol

### Normative specifications

Confirm current Query, Offer, version, and lifecycle semantics.

](https://github.com/agentoffernetwork/protocol)[

Schema and registry

### Implementation data

Use current types, JSON Schemas, taxonomy data, and location registry files.

](https://github.com/agentoffernetwork/schema)[

Examples

### Copyable requests

Compare your implementation with current HTTP and JSON examples.

](https://github.com/agentoffernetwork/examples)

For protocol publication context, visit [the Protocol website](https://agentoffernetwork.org/). Future proposals remain in the [RFC repository](https://github.com/agentoffernetwork/rfcs) and are not part of the current contract.

## Keep classification, lookup, and targeting distinct

Query v1.0 accepts explicit category constraints but no viewer-location field. [Location Search](https://docs.aon.pro/api/location-search) resolves and normalizes registry ids; it does not add a Query filter. Partner Offer-side geographic eligibility is defined separately in the Location and Age Targeting source below.

## High-signal source files

Open these files when you need exact field names, enums, required fields, and lifecycle semantics.

[

Query API

`v1.0/specs/query-api.md`

Current request and response contract for structured intent, category constraints, guided follow-up, and versioned offer discovery.

](https://github.com/agentoffernetwork/protocol/blob/main/v1.0/specs/query-api.md)[

Offer Schema

`v1.0/specs/offer-schema.md`

Current public Offer fields, actions, attribution, listing sources, and guidance metadata.

](https://github.com/agentoffernetwork/protocol/blob/main/v1.0/specs/offer-schema.md)[

Offer Field Semantics

`v1.0/specs/offer-field-semantics.md`

Normative field authority, enum meanings, URI policy, attribution defaults, and Query response behavior.

](https://github.com/agentoffernetwork/protocol/blob/main/v1.0/specs/offer-field-semantics.md)[

Category Taxonomy

`v1.0/specs/category-taxonomy.md`

Canonical category taxonomy, identifier rules, and matching semantics.

](https://github.com/agentoffernetwork/protocol/blob/main/v1.0/specs/category-taxonomy.md)[

Location and Age Targeting

`v1.0/specs/location-targeting.md`

Partner Offer-side eligibility configuration and the explicit boundary around Query v1.0 viewer fields.

](https://github.com/agentoffernetwork/protocol/blob/main/v1.0/specs/location-targeting.md)[

Location Registry

`v1.0/locations/aon-location-registry.json`

Canonical COUNTRY, REGION, and CITY identifiers for registry lookup and compatible Partner Offer geo targeting.

](https://github.com/agentoffernetwork/schema/blob/main/v1.0/locations/aon-location-registry.json)

## Contract and runtime boundaries

New integrations use the HTTP selector above and validate responses against this contract's canonical schema and field semantics. A published contract does not certify a particular deployment, credential, SDK release, or Hosted MCP account for live use.
