Skip to content
 

Public Test Sandbox

Run a real Protocol v1.0 Offer Query immediately. Registration, application review, and an application-owned key are not prerequisites. The sandbox uses one shared canonical pair, returns fixed test data, and never activates or creates an Application identity.

Shared and non-billable

Everyone uses this one zero-wait public pair. Sandbox activity is shared test data: it is not attributed to your application and cannot appear as your live business data.

Shared key and placement

This is one fixed public pair for everyone, everywhere. You do not need to register or wait for an issued key before running the example, and the values never change per caller or per deployment.

ValueUse this exact public constant
API originhttps://api.aon.pro
Public Test Keyaon_test_publicSandboxKey01
Placementplc_public_test_sandbox

Make a v1.0 Query

The public key is the authoritative test signal, and the request must use the paired sandbox placement. The AON-Protocol-Version: 1.0 header is required: a request without it, or with any other version, receives a stable UNSUPPORTED_PROTOCOL_VERSION error instead of offers. No other header or request flag is needed.

Canonical v1.0 sandbox request
curl
curl -sS -X POST "https://api.aon.pro/v1/offers/query" \
  -H "Authorization: Bearer aon_test_publicSandboxKey01" \
  -H "Content-Type: application/json" \
  -H "AON-Protocol-Version: 1.0" \
  -H "X-AON-Placement-Id: plc_public_test_sandbox" \
  -d '{
    "intent": {
      "content": [{"type":"input_text","text":"Find productivity tools"}],
      "provenance": "user_expressed"
    },
    "context": {}
  }'

Query-only credential

A missing or different placement fails closed. This key cannot call MCP, Reporting, feedback, watch, or any other API-key route, and it cannot fall through to live inventory.

What the sandbox returns

The response uses the normal v1.0 Query envelope and sets extra.is_test=true. Fixed CPA, CPS, and Hybrid samples keep response handling repeatable.

  • No external inventory requests: fixed samples only; no remote catalog calls are made on your behalf.
  • No database identity: the shared key and placement are route constants, not Application, API-key, or placement rows created for the caller.
  • No business write: no conversion, callback, Settlement, payout, Webhook outbox entry, notification, or export is ever created from sandbox traffic.
  • Shared, non-attribution activity: sandbox traffic does not verify your dashboard, attribution, or application-owned tracking.
  • No category filtering: category validation needs live catalog data, so the sandbox rejects constraints.category_ids with a 400 — omit the field here and use it once you switch to your own placement id. AON-Protocol-Version: 1.0 is likewise required rather than optional.

For request and response fields, continue to the Offer Query API reference. This page owns only the sandbox access and safety model.

Continue from here

Continue with REST API

Set up an SDK

For an MCP client, use Hosted MCP connection setup with your own placement id, or search anonymously with no placement (no key, no earnings); an API key is only needed for the write tools. The Sandbox does not establish MCP access.

When an existing account is enabled, use the Developer Portal to create placements and copy their placement ids for live integrations.

Moving to live access

For live traffic, drop the public test key and send your own placement id (from Developer Portal) in the X-AON-Placement-Id header.

Sandbox completion boundary

The fixed shared v1.0 Query is complete when its response contains extra.is_test=true. That is a non-attributed, non-billable contract and query verification only, not a live application integration or production completion.