AvrixDocumentation
API referenceStatusAvrix.ioConsole
Seller API

Welcome

  • Home
  • Getting started
  • Topic index
  • Glossary

Get started

  • Overview
  • How Avrix works
  • Architecture patterns
  • Quickstart
  • Integration tutorial
  • Authentication
  • OAuth tokens
  • Environments
  • Sandbox

Connect a partner

  • Partner onboarding
  • Sellable SKU readiness
  • Territory enforcement
  • AI assistants (MCP)
  • Connect your AI client
  • Sign-in and permissions

Catalog

  • Catalog & allocations
  • Product field matrix
  • Pricing authority
  • Currency and FX
  • Promotions
  • Caching & fairness

Sell an order

  • Store integration profiles
  • Order preview
  • Creating orders
  • Idempotency
  • Order context
  • Checkout holds
  • Hot drop
  • Fulfillment & keys
  • Keyless fulfilment
  • Order lifecycle
  • Refunds & returns

Stay in sync

  • Webhooks
  • Event reference
  • Polling & reconciliation
  • Reconciliation
  • Finance & settlement

Operate

  • Error reference
  • Troubleshooting
  • Key recovery
  • Rate limits
  • Security
  • Secrets & config
  • API key management
  • IP allowlist
  • Monitoring & support
  • Data handling
  • Partner runbook

Go live

  • Testing
  • Certification
  • Integration checklist
  • Sandbox to production
  • Go-live
  • Deployment targets

Reference

  • Integration recipes
  • Scope matrix
  • Commerce platforms
  • API clients
  • Client & helpers
  • Versioning
  • Changelog
  • FAQ
  • API reference
  1. Home
  2. /Reference
  3. /FAQ

FAQ

Short answers on sellability, keys vs keyless, idempotency, webhooks, and sandbox.

Short answers to the questions partners ask most often while integrating the Seller API.

Sellability#

Why is a SKU in the catalog but not sellable?#

Four gates must all pass: commercial agreement (BMA), catalog share, allocation capacity, and territory pricing. Shared SKUs alone are not checkout-ready — merge snapshot with allocations and treat allocation sellable: true as authoritative. See Catalog and allocations and Sellable SKU readiness.

Why does preview say I cannot fulfill?#

canFulfill is false when inventory, territory, lifecycle, or price gates fail. Do not charge at your payment processor until preview succeeds.

Keys#

Do I always receive plaintext keys?#

Yes on a successful POST /orders response. GET /orders and webhooks never return key plaintext — see Fulfilment and keys.

Why are webhooks missing key plaintext?#

By design. Webhooks must not carry recoverable game keys. Store keys from the order response under your custody rules.

Idempotency#

What happens if I retry POST /orders?#

Reuse the same Idempotency-Key and body. You receive the original result. Changing the body under the same key returns IDEMPOTENCY_KEY_MISMATCH. See Idempotency.

Is orderReference the same as the idempotency key?#

No. orderReference is your stable store order id for reconciliation. Idempotency-Key is the HTTP replay token for that write. Use both.

Webhooks vs GET /orders#

Should I poll GET /orders for keys?#

No. GET /orders never returns key plaintext. Use the create-order response and signed order.fulfilled webhooks. If you lost the create-order response, POST /orders/recover-keys (scope seller:keys:pull) re-reads the keys already sold under that orderReference without pulling new inventory. Poll for status / reconciliation, not key reveal — see Polling and reconciliation.

What if a webhook is missed?#

Replay deliveries, then reconcile with order reads and your PSP settlement. Design handlers for at-least-once delivery.

Sandbox vs production#

Do I need a different host for sandbox?#

No. Same base URL; the API key selects sandbox vs production. Sandbox keys see the shared sandbox catalog and magic SKUs such as SANDBOX-ALWAYS-001. See Environments and Sandbox.

Can I test with a production key against magic SKUs?#

No. Magic SKUs belong to the shared sandbox catalog. Use a sandbox key.

Does Avrix refund my payment processor on 409?#

No. If you charged and Avrix returns NO_AVAILABLE_KEYS (or similar), refund at your PSP. Preview first so you rarely reach that path.

Security#

Can I call Seller API from the browser?#

No. Keys are server-to-server only. See Architecture patterns.

Next steps#

  • Troubleshooting — symptom-first trees
  • Quickstart — first fulfilled order
  • Error reference — full code list

Need help with this page?

Contact support

AI tools

  • Ask ChatGPT
  • Ask Claude

On this page

  • Sellability
  • Why is a SKU in the catalog but not sellable?
  • Why does preview say I cannot fulfill?
  • Keys
  • Do I always receive plaintext keys?
  • Why are webhooks missing key plaintext?
  • Idempotency
  • What happens if I retry `POST /orders`?
  • Is `orderReference` the same as the idempotency key?
  • Webhooks vs GET /orders
  • Should I poll `GET /orders` for keys?
  • What if a webhook is missed?
  • Sandbox vs production
  • Do I need a different host for sandbox?
  • Can I test with a production key against magic SKUs?
  • Does Avrix refund my payment processor on 409?
  • Security
  • Can I call Seller API from the browser?
  • Next steps

Search docs

Search documentation…

What links here

Published guides that link to this page.

  • Commerce platformsShopify, WooCommerce, Magento, keyshops, game backends, and platform-store boundaries.
  • TroubleshootingSymptom-first trees for auth, empty catalog, inventory, idempotency, and webhooks.
PreviousChangelog
TopicsReference

Related pages

  • TroubleshootingSymptom-first trees for auth, empty catalog, inventory, idempotency, and webhooks.
  • Seller API overviewWhat the Seller API does, who it is for, and the golden-path integration shape.
  • Sellable SKU readinessWhich endpoint is authoritative for checkout-ready SKUs, and sellableOnly filtering.
  • Idempotency & retriesIdempotency-Key contract, orderReference, and safe retry behavior.
  • SandboxTest environments, magic SKUs, and auth triage.