Quick facts
Your first request
200 with a JSON array means you are connected and authenticated. A 401
means the key or header is wrong; a 403 means the key is fine but your team’s
role does not cover that endpoint. See Errors.
What you can do
Which half of the API you use depends on your team’s role. The role is carried by the API key — there is nothing else to configure.Provider API
Publish and manage service offers, define market coverage, receive and
fulfill orders, and register webhooks.
Reseller API
Browse the catalog, check what is available at a service address, place
orders for customers, and track fulfillment.
Public API
Unauthenticated endpoints powering shareable reseller links and the
consumer storefront. No API key.
Agent briefing
A single page with everything needed to generate a correct integration.
Before you build
Four pages that will save you a debugging session each:Authentication
Issuing, rotating, and revoking keys; role behaviour; auth errors
API conventions
List responses, identifiers, timestamps, money, and idempotency
Errors
Every status code, what causes it, and a retry-safe client
Versioning
What we promise not to break, and how deprecations work
Local development
https://api.offergrid.io is the only Offergrid-hosted environment — there is
no separate sandbox host, and no test-mode key. If you want an environment to
experiment against, run the API locally from the monorepo; it listens on
http://localhost:3000 by default and speaks the same contract as production.