OYUN QURDU Corporate
OpenAPI 3.1 · v1

API reference

Base URL https://corporative.oyunqurdu.az/api/v1. Authenticate with Authorization: Bearer <key>. Paste your key in the sidebar and press Send request on any endpoint to call it live.

System

Health and service status.

GET/ping

Health check

No API key needed.

Responses

  • 200 OK
curl "https://corporative.oyunqurdu.az/api/v1/ping"
Example response
{
  "status": "ok",
  "version": "1.0.0",
  "service": {
    "status": "operational",
    "message": null,
    "retry_after": null
  },
  "time": "2026-10-24T09:12:44Z"
}
Try it

Account

Your account and balance.

GET/account

Your account

Response fields
id string
Order ID (ord_…).
company string
email string
balance string
currency string
rate_limit_per_minute integer
webhook object
created_at string

Responses

curl "https://corporative.oyunqurdu.az/api/v1/account" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "id": "acc_k3m9q2w7x4z8n5",
  "company": "Your Company LLC",
  "login": "yourshop",
  "email": "api@company.com",
  "balance": "1250.40",
  "currency": "USD",
  "rate_limit_per_minute": 120,
  "webhook": {
    "enabled": true,
    "url": "https://company.com/oq/webhook"
  },
  "created_at": "2026-10-01T10:00:00Z",
  "service": {
    "status": "operational",
    "message": null,
    "retry_after": null
  }
}
Try it
GET/balance

Current balance

Responses

curl "https://corporative.oyunqurdu.az/api/v1/balance" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "balance": "1250.40",
  "currency": "USD"
}
Try it

Catalogue

Categories, products and your prices.

GET/categories

Games and services

Responses

curl "https://corporative.oyunqurdu.az/api/v1/categories" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "data": [
    {
      "code": "free-fire",
      "name": "Free Fire",
      "regions": [
        "CIS",
        "EU",
        "ID"
      ],
      "product_count": 37
    }
  ]
}
Try it
GET/products

List products with your prices

Query

page integer default 1
Page number, from 1.
per_page integer default 50
Items per page, at most 100.
category string
Category code, e.g. free-fire.
region string
GLOBAL, EU, TR, US, CIS, RU or ID.
type string: topup · code
Filter by type.
q string
Search in name and code.
in_stock boolean
Only products that can be ordered now.
live boolean
Re-price from the market now; needs `category`.

Responses

curl "https://corporative.oyunqurdu.az/api/v1/products" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "data": [
    {
      "code": "PUBGM-660-UC",
      "name": "PUBG Mobile — 660 UC",
      "category": "pubg-mobile",
      "category_name": "PUBG Mobile",
      "region": "GLOBAL",
      "type": "topup",
      "price": "9.17",
      "currency": "USD",
      "in_stock": true,
      "stock": null,
      "min_quantity": 1,
      "max_quantity": 10,
      "fields": [
        {
          "key": "player_id",
          "label": "Player ID",
          "type": "text",
          "required": true
        }
      ],
      "description": "Enter your Player ID before placing the order."
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1
  }
}
Try it
GET/products/{code}

One product

Path

code string required
Stable product code. Never changes.
Response fields
code string
Stable product code. Never changes.
name string
category string
Category code, e.g. free-fire.
category_name string
region string | null
GLOBAL, EU, TR, US, CIS, RU or ID.
type string: topup · code
Filter by type.
price string
Your unit price.
currency string
in_stock boolean
Only products that can be ordered now.
stock integer | null
null = not limited by stock
min_quantity integer
max_quantity integer
fields array of Field
What to send in `fields` when ordering.
description string | null

Responses

curl "https://corporative.oyunqurdu.az/api/v1/products/PUBGM-660-UC" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "code": "PUBGM-660-UC",
  "name": "PUBG Mobile — 660 UC",
  "category": "pubg-mobile",
  "category_name": "PUBG Mobile",
  "region": "GLOBAL",
  "type": "topup",
  "price": "9.17",
  "currency": "USD",
  "in_stock": true,
  "stock": null,
  "min_quantity": 1,
  "max_quantity": 10,
  "fields": [
    {
      "key": "player_id",
      "label": "Player ID",
      "type": "text",
      "required": true
    }
  ],
  "description": "Enter your Player ID before placing the order."
}
Try it
GET/products/{code}/quote

Live price for a product (supplier price + your margin, right now)

Path

code string required
Stable product code. Never changes.

Query

quantity integer default 1
Number of units.
Response fields
product string
Product code.
name string
quantity integer
Number of units.
unit_price string
total string
quantity × unit_price.
currency string
available boolean
in_stock boolean
Only products that can be ordered now.
stock integer | null
Units left; null = not limited by stock.
live boolean
true: priced just now; false: last known price
quoted_at string
valid_until string
hint string

Responses

curl "https://corporative.oyunqurdu.az/api/v1/products/PUBGM-660-UC/quote" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "product": "PUBGM-660-UC",
  "name": "PUBG Mobile — 660 UC",
  "quantity": 2,
  "unit_price": "9.17",
  "total": "18.34",
  "currency": "USD",
  "available": true,
  "in_stock": true,
  "stock": null,
  "live": true,
  "quoted_at": "2026-10-24T09:12:40Z",
  "valid_until": "2026-10-24T09:13:40Z",
  "hint": "Send max_unit_price with the order to lock this price."
}
Try it
POST/products/{code}/validate

Check a player ID before ordering (top-up products)

Path

code string required
Stable product code. Never changes.

Body · JSON

fields object
What to send in `fields` when ordering.

Responses

curl -X POST "https://corporative.oyunqurdu.az/api/v1/products/PUBGM-660-UC/validate" \
  -H "Authorization: Bearer $OQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fields": {"player_id": "5123456789"}}'
Example response
{
  "valid": true,
  "player_name": "ShadowFox"
}
Try it

Orders

Create and track orders.

GET/orders

List orders

Query

page integer default 1
Page number, from 1.
per_page integer default 50
Items per page, at most 100.
status string
Current status.
product string
Product code.
reference string
Your own unique ID. Makes the request idempotent.
from string
From this date/time (ISO 8601).
to string
Up to this date/time (ISO 8601).

Responses

curl "https://corporative.oyunqurdu.az/api/v1/orders" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "data": [
    {
      "id": "ord_7kq2m9xw4hz8n3pd5t",
      "reference": "INV-10045",
      "status": "completed",
      "status_message": "The order is complete.",
      "product": {
        "code": "STEAM-GLOBAL-20-USD",
        "name": "Steam Wallet (Global) — 20 USD"
      },
      "quantity": 2,
      "unit_price": "21.62",
      "total": "43.24",
      "currency": "USD",
      "fields": {},
      "delivery": {
        "type": "code",
        "codes": [
          "XXXXX-XXXXX-XXXXX",
          "YYYYY-YYYYY-YYYYY"
        ],
        "message": null
      },
      "failure": null,
      "created_at": "2026-10-24T09:12:44Z",
      "updated_at": "2026-10-24T09:12:47Z",
      "completed_at": "2026-10-24T09:12:47Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1
  }
}
Try it
POST/orders

Create an order

Charges your balance. Send a reference so a retry never buys twice.

Body · JSON

product string required
Product code.
quantity integer
Number of units.
fields object
What to send in `fields` when ordering.
reference string
Your own unique ID. Makes the request idempotent.
callback_url string
https URL that receives this order's webhooks
max_unit_price string
Refuse the order if the price is higher
Response fields
id string
Order ID (ord_…).
reference string | null
Your own unique ID. Makes the request idempotent.
status string: processing · completed · failed · on_hold · refunded
Current status.
status_message string
product object
Product code.
quantity integer
Number of units.
unit_price string
total string
quantity × unit_price.
currency string
fields object
What to send in `fields` when ordering.
delivery object | null
Codes (gift cards) or a top-up confirmation; set when completed.
failure object | null
Why the order failed; null otherwise.
created_at string
updated_at string
completed_at string | null

Responses

curl -X POST "https://corporative.oyunqurdu.az/api/v1/orders" \
  -H "Authorization: Bearer $OQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product": "PUBGM-660-UC", "quantity": 1, "fields": {"player_id": "5123456789"}, "reference": "INV-10045"}'
Example response
{
  "id": "ord_7kq2m9xw4hz8n3pd5t",
  "reference": "INV-10045",
  "status": "completed",
  "status_message": "The order is complete.",
  "product": {
    "code": "STEAM-GLOBAL-20-USD",
    "name": "Steam Wallet (Global) — 20 USD"
  },
  "quantity": 2,
  "unit_price": "21.62",
  "total": "43.24",
  "currency": "USD",
  "fields": {},
  "delivery": {
    "type": "code",
    "codes": [
      "XXXXX-XXXXX-XXXXX",
      "YYYYY-YYYYY-YYYYY"
    ],
    "message": null
  },
  "failure": null,
  "created_at": "2026-10-24T09:12:44Z",
  "updated_at": "2026-10-24T09:12:47Z",
  "completed_at": "2026-10-24T09:12:47Z"
}
Try it
GET/orders/{id}

One order

Path

id string required
Order ID (ord_…).
Response fields
id string
Order ID (ord_…).
reference string | null
Your own unique ID. Makes the request idempotent.
status string: processing · completed · failed · on_hold · refunded
Current status.
status_message string
product object
Product code.
quantity integer
Number of units.
unit_price string
total string
quantity × unit_price.
currency string
fields object
What to send in `fields` when ordering.
delivery object | null
Codes (gift cards) or a top-up confirmation; set when completed.
failure object | null
Why the order failed; null otherwise.
created_at string
updated_at string
completed_at string | null

Responses

curl "https://corporative.oyunqurdu.az/api/v1/orders/ord_7kq2m9xw4hz8n3pd5t" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "id": "ord_7kq2m9xw4hz8n3pd5t",
  "reference": "INV-10045",
  "status": "completed",
  "status_message": "The order is complete.",
  "product": {
    "code": "STEAM-GLOBAL-20-USD",
    "name": "Steam Wallet (Global) — 20 USD"
  },
  "quantity": 2,
  "unit_price": "21.62",
  "total": "43.24",
  "currency": "USD",
  "fields": {},
  "delivery": {
    "type": "code",
    "codes": [
      "XXXXX-XXXXX-XXXXX",
      "YYYYY-YYYYY-YYYYY"
    ],
    "message": null
  },
  "failure": null,
  "created_at": "2026-10-24T09:12:44Z",
  "updated_at": "2026-10-24T09:12:47Z",
  "completed_at": "2026-10-24T09:12:47Z"
}
Try it
GET/orders/reference/{reference}

Find an order by your reference

Path

reference string required
Your own unique ID. Makes the request idempotent.
Response fields
id string
Order ID (ord_…).
reference string | null
Your own unique ID. Makes the request idempotent.
status string: processing · completed · failed · on_hold · refunded
Current status.
status_message string
product object
Product code.
quantity integer
Number of units.
unit_price string
total string
quantity × unit_price.
currency string
fields object
What to send in `fields` when ordering.
delivery object | null
Codes (gift cards) or a top-up confirmation; set when completed.
failure object | null
Why the order failed; null otherwise.
created_at string
updated_at string
completed_at string | null

Responses

curl "https://corporative.oyunqurdu.az/api/v1/orders/reference/INV-10045" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "id": "ord_7kq2m9xw4hz8n3pd5t",
  "reference": "INV-10045",
  "status": "completed",
  "status_message": "The order is complete.",
  "product": {
    "code": "STEAM-GLOBAL-20-USD",
    "name": "Steam Wallet (Global) — 20 USD"
  },
  "quantity": 2,
  "unit_price": "21.62",
  "total": "43.24",
  "currency": "USD",
  "fields": {},
  "delivery": {
    "type": "code",
    "codes": [
      "XXXXX-XXXXX-XXXXX",
      "YYYYY-YYYYY-YYYYY"
    ],
    "message": null
  },
  "failure": null,
  "created_at": "2026-10-24T09:12:44Z",
  "updated_at": "2026-10-24T09:12:47Z",
  "completed_at": "2026-10-24T09:12:47Z"
}
Try it

Transactions

Balance history.

GET/transactions

Balance history

Query

page integer default 1
Page number, from 1.
per_page integer default 50
Items per page, at most 100.
type string
Filter by type.
from string
From this date/time (ISO 8601).
to string
Up to this date/time (ISO 8601).

Responses

curl "https://corporative.oyunqurdu.az/api/v1/transactions" \
  -H "Authorization: Bearer $OQ_API_KEY"
Example response
{
  "data": [
    {
      "id": "txn_k2m8q4w7x3z9n5p6r1",
      "type": "purchase",
      "amount": "-9.17",
      "balance_after": "1241.23",
      "currency": "USD",
      "order_id": "ord_7kq2m9xw4hz8n3pd5t",
      "description": "PUBGM-660-UC × 1",
      "created_at": "2026-10-24T09:12:44Z"
    }
  ],
  "pagination": {
    "page": 1,
    "per_page": 50,
    "total": 1,
    "total_pages": 1
  }
}
Try it