Skip to main content
GET
/
cpl
/
orders
Orders
curl --request GET \
  --url https://studio-api.onlytraffic.com/api/external/v1/cpl/orders \
  --header 'X-API-Key: <api-key>'
{
  "success": true,
  "data": [
    {
      "order_id": "cplo_xxxxxxx",
      "order_number": 42,
      "offer_id": 1,
      "offer_type": "partner",
      "goal": "subscription",
      "offer_marketer_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "offer_marketer_name": "🥷 Owen",
      "of_account_id": 123456,
      "source": "Reddit",
      "quantity_ordered": 50,
      "quantity_delivered": 32,
      "campaign_url": "https://onlyfans.com/.../c...",
      "price_per_subscriber": 3.5,
      "clicks_count": 245,
      "total_spent": 112,
      "status": "completed",
      "can_cancel": true,
      "auto_renewal": {
        "enabled": true,
        "quantity": 50,
        "max_price": 4
      },
      "pay_as_you_go": {
        "enabled": true,
        "paid": 123,
        "pending": 123,
        "payments_count": 123
      },
      "stats": {
        "fans_subscribed": {
          "total": 123,
          "today": 123
        },
        "transactions_sum": {
          "total": 123,
          "today": 123
        },
        "arpu": 123,
        "arpu_paying": 123,
        "romi": 123,
        "pay_subscribe": {
          "total": 123,
          "today": 123,
          "percent": 123
        },
        "pay_resubscribe": {
          "total": 123,
          "today": 123,
          "percent": 123
        },
        "purchases_1": {
          "total": 123,
          "today": 123,
          "percent": 123
        },
        "purchases_2": {
          "total": 123,
          "today": 123,
          "percent": 123
        },
        "purchases_5": {
          "total": 123,
          "today": 123,
          "percent": 123
        },
        "whale": {
          "total": 123,
          "today": 123,
          "percent": 123
        },
        "messages_3": {
          "total": 123,
          "today": 123,
          "percent": 123
        }
      },
      "created_at": "2026-01-15T12:00:00+00:00",
      "created_at_ts": 1736942400,
      "changed_at": "2026-05-05T13:24:30+00:00",
      "changed_at_ts": 1746450270,
      "completed_at": "2026-01-20T18:30:00+00:00"
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 50,
    "total": 150,
    "total_pages": 3,
    "has_next": true
  }
}

Documentation Index

Fetch the complete documentation index at: https://onlytraffic.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

Your API key from the Studio Dashboard

Query Parameters

page
integer
default:1

Page number, 1-indexed.

Required range: x >= 1
page_size
integer
default:50

Items per page. Default 50, max 100.

Required range: 1 <= x <= 100
order_id
string

Filter by order public ID

of_account_id
integer

Filter by OnlyFans account ID

status
enum<string>

Filter by order status

Available options:
waiting,
accepted,
rejected,
completed,
cancelled
offer_id
integer

Filter by partner-offer or client-offer numeric id (matches offer_id field in the response).

offer_type
enum<string>

Filter by offer kind. partner = an offer published by a partner/contractor; client = your own client offer.

Available options:
partner,
client
source
string

Filter by traffic source where the campaign is running (e.g. instagram, tiktok, reddit). Use other to match sources not in the standard catalog.

auto_renewal
enum<string>

When set to true / 1, returns only orders configured for auto-renewal.

Available options:
true,
false,
1,
0
slow
enum<string>

When set to true / 1, returns only "slow" orders: active, older than 7 days, with fewer than 10 fans subscribed in the last 7 days. Useful for spotting orders that need attention.

Available options:
true,
false,
1,
0
since_changed_at
integer

Delta-sync filter. Return only rows whose changed_at is at or after this UNIX timestamp. Pair with until_changed_at for a window.

Required range: x >= 0
until_changed_at
integer

Delta-sync filter. Return only rows whose changed_at is strictly before this UNIX timestamp. Useful to lock the upper bound while paginating an open delta range.

Required range: x >= 0
sort
enum<string>
default:created_at_desc

Sort order.

  • completed_at_desc: by campaign end date (most recent first).
  • arpu_desc: average revenue per fan, descending.
  • romi_desc: return on marketing investment, descending.
  • total_income_desc: total income from the campaign, descending.
  • fans_desc: total subscribers, descending.
  • fans_today_desc: subscribers added since today's midnight UTC (real-time).
Available options:
created_at_desc,
created_at_asc,
changed_at_desc,
changed_at_asc,
completed_at_desc,
arpu_desc,
romi_desc,
total_income_desc,
fans_desc,
fans_today_desc

Response

Successful response

success
boolean
Example:

true

data
object[]
pagination
object

Page-based pagination, returned by every list endpoint that isn't a cursor feed.