Get Started

Welcome

How these docs are organised, how to navigate them, and where to look first.

The Octopus Cards API is one HTTP surface for our product verticals, backed by a shared core layer (auth, wallets, webhooks, reference data). One JWT, one base URL, the same conventions across all of it.

This page is the map.

How these docs are laid out

The top of every page has four tabs. Each tab swaps the sidebar so only the current section is visible — no scrolling past 60 unrelated items to find one endpoint.

When to use which tab

IntentTab
Brand new to Octopus CardsGet Started, top to bottom
Building a specific feature (e.g. cross-currency orders, webhook handlers)Guides — find the task, follow the walkthrough
Mid-integration and need an endpoint's exact shapeAPI Reference — pick the vertical, pick the endpoint
Hitting a behaviour change after an upgradeChangelog
About to flip the production switchBefore You Go Live (under Guides)

The sidebar tracks the tab. Clicking "Guides" swaps the sidebar to guides + best practices. Clicking "API Reference" swaps it to the endpoint tree. Sections are independent — moving between them via the top tabs doesn't disturb the current position inside either.

What lives in API Reference

Our product verticals plus shared endpoints. Each vertical is self-contained.

VerticalWhat it doesDelivery
VouchersDigital gift cards (Steam, Amazon, Google Play, etc.)Synchronous — codes returned on the order response
TopupsMobile recharges and gaming top-upsHybrid sync/async — 60s deadline, then poll or wait for webhook
eSIMData plans (LPA activation code + ICCID)Hybrid sync/async + a second lifecycle for install/activate

Shared across all three:

  • Authentication — JWT + IP whitelist, one login flow for all three verticals.
  • Wallets — the spending balance per currency; every order debits a wallet.
  • Webhooks — signature verification + retry semantics shared by all verticals.
  • Data — countries, currencies, categories. Cache aggressively.

Conventions that apply to every endpoint

Worth skimming before the first request:

  • Base URL: https://api.octopuscards.io
  • Auth: Authorization: Bearer <jwt>; tokens issued via /auth/login.
  • Response shape: single resources are JSON objects; list endpoints are top-level JSON arrays.
  • Pagination headers: X-Page, X-Per-Page, X-Total-Count, X-Total-Pages, X-Has-More.
  • Idempotency: every order creation accepts a client-supplied client_reference (≤ 255 printable ASCII). Same client_reference twice → 400 "Duplicate client_reference".
  • Money: every amount is paired with currency (ISO 4217). Never assume USD.
  • Time: RFC 3339 / ISO 8601, UTC.

Full contract on the Conventions page.

The first hour

The four Get Started pages, in order. Short reads.

On this page