Sign in
Documentation / API reference

Endpoint directory

Find every public API route and its access requirements.

All endpoints

Access requirements below come from the same route table that gates requests. Public snapshot routes can answer without authentication; feature-specific reads also require the listed feature. Full request and response contracts →

41 endpoints

GET/api/v1/configpublic

This deployment: env (production, dev, preview), the Clerk publishable key, the API base.

Access: public.

Read the complete contract →
GET/api/v1/mepublic

Who you are: user, roles, features, limits, contributor status.

Access: public.

Read the complete contract →
GET/api/v1/contributionssigned-in

Your own uploads of the last 30 days and whether each was credited.

Access: signed-in.

Read the complete contract →
POST/api/v1/devices/pairpublic

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: public.

Read the complete contract →
GET/api/v1/devices/pair/:pairIdpublic

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: public.

Read the complete contract →
POST/api/v1/devices/confirmsigned-in

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: signed-in · callers: session.

Read the complete contract →
GET/api/v1/devicessigned-in

Your paired desktop apps.

Access: signed-in.

Read the complete contract →
DELETE/api/v1/devices/:idsigned-in

Unpair a desktop app (its token stops working at once).

Access: signed-in.

Read the complete contract →
GET/api/v1/update/latest.jsonpublic

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: public.

Read the complete contract →
GET/api/v1/downloads/desktop/latestpublic

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: public.

Read the complete contract →
GET/api/v1/itemspublic

Item data: names, quality, icons, classes, vendor prices, suffix tables.

Access: public.

Read the complete contract →
GET/api/v1/items/search-indexpublic

The compact search index: [key, name, quality, icon, class, subclass] by name.

Access: public.

Read the complete contract →
GET/api/v1/items/unknownpublic

Keys on sale that nobody has named yet: {items, now}.

Access: public.

Read the complete contract →
POST/api/v1/items/seenupload.device

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: upload.device · callers: device, apikey.

By credential: device: upload.deviceapikey: api.upload

Read the complete contract →
GET/api/v1/items/:keypublic

One item's record (and its variant's own name).

Access: public.

Read the complete contract →
POST/api/v1/ah/booksupload.device

Auction groups: {market, at, complete, auctions, entries: [key, price, stack, band, n][]}. Also creates the scan summary. Gzip recommended, up to 32 MiB.

Access: upload.device · callers: device, apikey.

By credential: device: upload.deviceapikey: api.upload

Request body, examples and response →
GET/api/v1/ahprices.snapshot

Every market's summary: newest scan, items, newest book, contributors this week.

Access: prices.snapshot · API keys also need api.read. Callers without live prices receive the hourly view.

Read the complete contract →
GET/api/v1/ah/:market/snapshotpublic

The hourly snapshot: every row as of the hour plus 7 days of daily closes and today so far.

Access: public.

Read the complete contract →
GET/api/v1/ah/:market/filespublic

Where the market's CDN files are, with the capability URLs your plan may read.

Access: public · API keys also need api.read.

Read the complete contract →
GET/api/v1/ah/:market/historyprices.snapshot

Every item's day candles (and volume with depth) from a day on.

Access: prices.snapshot · API keys also need api.read. Callers without live prices receive the hourly view.

Read the complete contract →
GET/api/v1/ah/:market/intradayprices.live

Every item's hour closes from an hour on.

Access: prices.live · API keys also need api.read.

Read the complete contract →
GET/api/v1/ah/:market/candlesprices.live

Candles of up to 50 items at once (m1 also needs candles.minute).

Access: prices.live · API keys also need api.read.

res=m1 additionally requires candles.minute.

Read the complete contract →
GET/api/v1/ah/:market/booksbooks

The stored order books (newest first).

Access: books · API keys also need api.read.

Read the complete contract →
GET/api/v1/ah/:market/books/:atbooks

One stored order book (gzip when accepted).

Access: books · API keys also need api.read.

Read the complete contract →
GET/api/v1/ah/:market/:item/bookbooks

The item's entries in the current order book.

Access: books · API keys also need api.read.

Read the complete contract →
GET/api/v1/ah/:market/:item/candlescandles.daily

Candles [t, open, high, low, close, quantity].

Access: candles.daily · API keys also need api.read. Callers without live prices receive the hourly view.

res=h1 additionally requires candles.hourly.

res=m1 additionally requires candles.minute.

Read the complete contract →
GET/api/v1/ah/:market/:itemprices.snapshot

One item key: its reading, day points and (with depth) volume.

Access: prices.snapshot · API keys also need api.read. Callers without live prices receive the hourly view.

Read the complete contract →
GET/api/v1/ah/:marketprices.live

The live table: rows changed after `since`.

Access: prices.live · API keys also need api.read.

Read the complete contract →
GET/api/v1/market/watchsigned-in

Your watchlist (item keys).

Access: signed-in.

Read the complete contract →
PUT/api/v1/market/watchwatchlist

Your watchlist (item keys).

Access: watchlist · signed-in account required.

Read the complete contract →
GET/api/v1/market/alertssigned-in

Your price alerts; create one.

Access: signed-in.

Read the complete contract →
POST/api/v1/market/alertsalerts

Your price alerts; create one.

Access: alerts · signed-in account required.

Read the complete contract →
PUT/api/v1/market/alerts/:idalerts

Change or delete an alert.

Access: alerts · signed-in account required.

Read the complete contract →
DELETE/api/v1/market/alerts/:idalerts

Change or delete an alert.

Access: alerts · signed-in account required.

Read the complete contract →
GET/api/v1/market/boardssigned-in

Your saved dashboards and screens (one document).

Access: signed-in.

Read the complete contract →
PUT/api/v1/market/boardsboards

Your saved dashboards and screens (one document).

Access: boards · signed-in account required.

Read the complete contract →
GET/api/v1/push/keysigned-in

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: signed-in.

Read the complete contract →
GET/api/v1/push/subscriptionsigned-in

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: signed-in.

Read the complete contract →
PUT/api/v1/push/subscriptionsigned-in

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: signed-in.

Read the complete contract →
DELETE/api/v1/push/subscriptionsigned-in

See the versioned protocol for the request body, response fields and endpoint-specific behavior.

Access: signed-in.

Read the complete contract →
GET/api/v1/livelive

One socket per market: hello, merge notices with CDN URLs, sealed candles, your alerts and role changes.

Access: live · signed-in account required.

Read the complete contract →

Versioned contracts and runnable examples live with the source specification →.