Skip to main content
Everything a seller’s integration needs to keep a catalogue of offers up to date: create an offer, restock it, pause it, archive it. Each category has its own paths — /v1/offers/accounts, /v1/offers/currency and so on — carrying its own fields. You integrate with the categories you sell in, and a category added to the platform later leaves yours untouched. This is the public surface. The seller dashboard’s own screens — payouts, disputes, account settings — are not part of it, and an API key does not reach them. An offer is one listing on the marketplace. The API calls them offers, and so does everything below.

Base URL

HTTPS only, and every path is versioned: /v1/....

Your first request

1

Create a key

In the seller dashboard, go to Seller → API keys and create one. It is shown once — copy it then, there is no way to read it back.
2

Send it

The key goes in the Authorization header of every request. There is nothing to exchange it for.
3

Read the category's own fields

What a category’s create call takes is in its own reference page — an accounts offer has a price and pictures, a currency offer has a product and a stock. What varies by game is attributes, and the schema endpoint answers with those: the fields, their types, and which are required.
This path resolves a game’s slug. The other catalog paths address a game by the id that GET /v1/offers/games returns — a slug there answers 400.Catalog reads are public — you can explore them before you have a key.

Statuses

A new offer is a draft: yours, and nobody else’s to see. publish makes it active, and buyers can buy it from that moment — nothing reviews it first. Publishing an offer with nothing left to sell is refused with 409: add stock first. Editing changes nothing about where an offer stands — an active one stays live, a draft stays a draft. paused is yours too, through pause and unpause. archived is the end of the line: DELETE retires an offer for good and keeps it readable to you. reserved and sold follow orders, not calls. removed is a takedown after the fact, which no call in this API performs.

Prices

Every price in this API is an integer in US cents. price: 4990 is $49.90. There are no fractional amounts, and USD is the only currency.

Where to go next

Authentication

Keys, address allowlists, rate limits, and what the errors mean.

API Reference

Every endpoint, with a playground you can send live requests from.