Quickstart
Create a key, get a token, place an order and receive the webhook — end to end
The fastest path from zero to a fulfilled order: create an API key, exchange it for an access token, place an order, and receive the terminal result on your webhook.
Base URL — https://api.voodoo.center (HTTPS only). Auth endpoints live
under the same host at /v1/auth.
Prerequisites
- A Voodoo Center account with a funded balance.
- Access to the dashboard API page (to create a key and set your webhook).
- An item to buy — get its
item_id, product type, quantity bounds and input fields from the catalog (a snapshot you download).
Create an API key
In the dashboard, open the API page and create a key. The raw key
(format ak_...) is shown once, at creation — copy it immediately and
store it as a secret. You can revoke and re-create keys here at any time.
Set your webhook (recommended)
On the same API page, set your Webhook URL (publicly reachable over
HTTPS) and copy the signing secret (whsec_..., also shown once). This
is where terminal order results are pushed. You can skip it and poll
instead, but the webhook is the lower-latency path.
Exchange the key for an access token
Trade your ak_ key for a short-lived Bearer token (valid 2 hours):
Send access_token as Authorization: Bearer <access_token> on every other
request. Re-exchange the key when the token expires.
Place your first order
Buy a key item. POST /v1/orders charges your balance and returns 201
immediately with status: "pending" — fulfillment runs in the background.
Always send a unique merchant_order_id — it makes retries idempotent.
Receive the result on your webhook
When the order settles, Voodoo Center POSTs a signed event to your webhook
URL. Verify X-Signature against the raw body, then read the
terminal status, delivered codes and any refund_amount:
No webhook yet? Poll GET /v1/orders/{id} until status is terminal
instead — but stop on need_client_code as well, which is a pause awaiting a
code from your customer and will never reach a terminal status on its own.
See all six statuses.
Try it without leaving the docs
The API Reference tab has a live API Explorer for every
endpoint. Enter only your ak_ API key and run any endpoint — it fetches a
fresh Bearer token for you behind the scenes. You never paste a JWT.