INFINIVOUCHER API
Integrate the InfiniVoucher Marketplace directly into your platform. Automate digital goods purchases, monitor your wallet balance in real-time, and retrieve order histories programmatically.
https://infinidashboard.infinivoucher.com/api/v1Introduction
The InfiniVoucher API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.
Quick Start
Get up and running with the InfiniVoucher API in four steps.
Get your API key
Navigate to the Developer API section in your dashboard's System Control panel to generate your API key.
Set up authentication
Include your API key as a Bearer token in the Authorization header of every request.
Authorization: Bearer infi_sk_your_api_key_here
List available products
Fetch the product catalog to see what's available for purchase.
curl -X GET https://infinidashboard.infinivoucher.com/api/v1/products \-H "Authorization: Bearer infi_sk_your_api_key_here"
Create your first order
Purchase a product using its ID. Don't forget the Idempotency-Key header.
curl -X POST https://infinidashboard.infinivoucher.com/api/v1/orders/buy \-H "Authorization: Bearer infi_sk_your_api_key_here" \-H "Content-Type: application/json" \-H "Idempotency-Key: $(uuidgen)" \-d '{"product_id": "PRODUCT_ID", "quantity": 1}'
Authentication
The InfiniVoucher API uses API keys to authenticate requests. You can view and manage your API keys in the Developer API tab of your control panel. Authentication is performed via the HTTP Bearer Token scheme.
Authorization: Bearer infi_sk_your_api_key_here
warningKeep Your Keys Safe
Your API keys carry many privileges, including the ability to deduct funds directly from your marketplace wallet. Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
Rate Limiting
To prevent abuse and ensure stability, all API requests are rate-limited. We return standard HTTP headers concerning your current rate limit status. If you exceed the limit, you will receive a 429 Too Many Requests response.
| Tier | Requests/Min | Purchase Limit |
|---|---|---|
| STANDARD | 60 / min | 5 per 10s |
| PROFESSIONAL | 300 / min | 5 per 10s |
| ENTERPRISE | 1000 / min | Custom |
Error Handling
The InfiniVoucher API uses conventional HTTP response codes to indicate the success or failure of an API request. Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided. Codes in the 5xx range indicate an error with InfiniVoucher's servers.
| Error Code | HTTP | Description |
|---|---|---|
| UNAUTHORIZED | 401 | Missing or invalid API key. |
| FORBIDDEN | 403 | Key lacks required scope or IP is not whitelisted. |
| INSUFFICIENT_FUNDS | 402 | Wallet balance is too low for the purchase. |
| OUT_OF_STOCK | 409 | Requested quantity exceeds available stock. |
| STOCK_CONFLICT | 409 | Concurrent purchase conflict. Retry with exponential backoff. |
| WALLET_FROZEN | 403 | Your marketplace wallet is frozen. Contact support. |
{"success": false,"error": {"code": "OUT_OF_STOCK","message": "Not enough stock available. Requested: 5, Available: 2"}}
Idempotency
The API supports idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to purchase a code fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single purchase is created.
Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000
Idempotency keys are REQUIRED for all POST requests and remain cached for 24 hours.
Webhooks
Webhook support is available for order status updates. Configure your webhook URL in the Developer API section of your dashboard's System Control panel.
When an order status changes, we send a POST request to your configured URL with the order details. Your endpoint should return a 200 status code to acknowledge receipt. Failed deliveries are retried up to 3 times with exponential backoff.
{"event": "order.completed","data": {"order_id": "clxyz...","product_name": "PUBG Mobile 60 UC","quantity": 5,"status": "COMPLETED","timestamp": "2026-03-15T12:00:00.000Z"}}
Best Practices
- Use Environment Variables: Never hardcode API keys in your application. Read from
.envor a secrets manager. - IP Whitelisting: Always configure an IP whitelist for production API keys to limit access exclusively to your servers.
- Handle Conflicts: Implement retry logic with exponential backoff when encountering a
409 STOCK_CONFLICT. - Idempotency: Always generate a unique UUID v4 for the
Idempotency-Keyheader on every unique purchase. - Pre-flight Checks: Fetch
/productsand/walletbefore committing to a purchase to avoid redundant 402/409 errors. - Key Rotation: Periodically rotate your keys, especially if a developer with access leaves your organization.
API Reference
Health Check
Public endpoint for monitoring API availability. No authentication required.
/healthcurl -X GET https://infinidashboard.infinivoucher.com/api/v1/health
API is healthy and online.
{"success": true,"data": {"status": "healthy","version": "v1","timestamp": "2026-03-15T12:00:00.000Z"}}
List Products
Scope: products:readList all available AUTO marketplace products with real-time stock status.
/productsQuery Parameters
| Name | Description |
|---|---|
category_idstring | Filter products by a specific category ID. |
in_stockboolean | If true, only return products with available stock. |
pageinteger | Page number (default: 1). |
limitinteger | Items per page (default: 50, max: 100). |
curl -X GET https://infinidashboard.infinivoucher.com/api/v1/products?in_stock=true \-H "Authorization: Bearer infi_sk_your_api_key_here"
Returns an array of categories containing available products.
{"success": true,"data": {"categories": [{"id": "clxyz...","name": "PUBG Mobile","products": [{"id": "clxyz...","name": "60 UC","price": "0.85","currency": "USDT","stockStatus": "IN_STOCK","availableQuantity": 142}]}],"pagination": {"page": 1,"limit": 50,"total": 12,"totalPages": 1}},"meta": { "requestId": "req_cm7xyz..." }}
Get Wallet Balance
Scope: wallet:readCheck your current USDT marketplace wallet balance and status. Optionally retrieve your most recent transactions.
/walletQuery Parameters
| Name | Description |
|---|---|
include_transactionsboolean | Include recent transactions (default: false). |
transactions_limitinteger | Number of transactions to include (max 50). |
curl -X GET https://infinidashboard.infinivoucher.com/api/v1/wallet \-H "Authorization: Bearer infi_sk_your_api_key_here"
Returns the wallet balance and optional transaction history.
{"success": true,"data": {"wallet": {"balance": "1250.75","currency": "USDT","status": "ACTIVE"},"transactions": []}}
Purchase Products
Scope: orders:createAtomically purchase AUTO marketplace codes. Deducts USDT from wallet and delivers codes in a single transaction.
/orders/buyRequest Body
| Name | Description |
|---|---|
product_idRequiredstring | The ID of the product you wish to purchase. |
quantityRequiredinteger | Amount to purchase (Min: 1, Max: 100). |
curl -X POST https://infinidashboard.infinivoucher.com/api/v1/orders/buy \-H "Authorization: Bearer infi_sk_your_api_key_here" \-H "Content-Type: application/json" \-H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \-d '{"product_id": "cl1234abcd", "quantity": 2}'
Purchase successful. Returns the order details and the decrypted codes.
{"success": true,"data": {"order": {"id": "clxyz...","productId": "clxyz...","productName": "PUBG Mobile 60 UC","quantity": 5,"unitPrice": "0.85","totalAmount": "4.25","currency": "USDT","status": "COMPLETED"},"codes": [{ "index": 1, "code": "ABCD-EFGH-IJKL-1234" },{ "index": 2, "code": "MNOP-QRST-UVWX-5678" }],"wallet": {"previousBalance": "1254.50","deducted": "4.25","currentBalance": "1250.25"}}}
List Orders
Scope: orders:readList all marketplace orders placed via the API for your store.
/ordersQuery Parameters
| Name | Description |
|---|---|
statusstring | Filter by status (COMPLETED, PENDING, FAILED). |
fromstring | ISO 8601 date — orders created after this date. |
tostring | ISO 8601 date — orders created before this date. |
pageinteger | Page number (default: 1). |
limitinteger | Items per page (default: 20, max: 100). |
curl -X GET https://infinidashboard.infinivoucher.com/api/v1/orders?limit=10 \-H "Authorization: Bearer infi_sk_your_api_key_here"
Returns an array of your orders with pagination. Note: Codes are not included in the list view.
{"success": true,"data": {"orders": [{"id": "clxyz...","productId": "clxyz...","productName": "PUBG Mobile 60 UC","quantity": 5,"unitPrice": "0.85","totalAmount": "4.25","currency": "USDT","status": "COMPLETED","type": "AUTO","createdAt": "2026-03-15T12:00:00.000Z"}],"pagination": {"page": 1,"limit": 20,"total": 156,"totalPages": 8}},"meta": { }}
Get Order Details
Scope: orders:readRetrieve a single order and its associated delivered codes. Use this to re-fetch codes if the initial purchase response was dropped.
/orders/:idQuery Parameters
| Name | Description |
|---|---|
idRequiredstring | The unique Order ID returned from the purchase endpoint. |
curl -X GET https://infinidashboard.infinivoucher.com/api/v1/orders/clxyz_abc123 \-H "Authorization: Bearer infi_sk_your_api_key_here"
Returns the order summary alongside the decrypted array of codes.
{"success": true,"data": {"order": {"id": "clxyz...","productId": "clxyz...","productName": "PUBG Mobile 60 UC","quantity": 5,"unitPrice": "0.85","totalAmount": "4.25","currency": "USDT","status": "COMPLETED","type": "AUTO","createdAt": "2026-03-15T12:00:00.000Z"},"codes": [{ "index": 1, "code": "ABCD-EFGH-IJKL-1234" },{ "index": 2, "code": "MNOP-QRST-UVWX-5678" }]},"meta": { }}
Changelog
Initial API release — product listing, order creation with idempotency, wallet balance, order history and details retrieval. Bearer token authentication with scoped API keys.