[{"data":1,"prerenderedAt":518},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fapi\u002Fauthentication":3,"docs-nav":368},{"id":4,"title":5,"body":6,"description":359,"extension":360,"meta":361,"navigation":362,"order":363,"path":364,"seo":365,"stem":366,"__hash__":367},"docs\u002Fdocs\u002F4.api\u002F1.authentication.md","API authentication",{"type":7,"value":8,"toc":351},"minimark",[9,13,24,29,59,70,74,81,114,154,158,230,234,310,329,333,347],[10,11,12],"p",{},"The TrafficOX API lets you read your statistics and manage buy orders, domain\nfilters and RTB feeds from your own code. All requests go to:",[14,15,21],"pre",{"className":16,"code":18,"language":19,"meta":20},[17],"language-text","https:\u002F\u002Fapi.trafficox.com\u002Fapi\n","text","",[22,23,18],"code",{"__ignoreMap":20},[25,26,28],"h2",{"id":27},"create-an-api-key","Create an API key",[30,31,32,41,56],"ol",{},[33,34,35,36,40],"li",{},"In the platform, open ",[37,38,39],"strong",{},"API keys"," from the account menu.",[33,42,43,44,47,48,51,52,55],{},"Click ",[37,45,46],{},"+ New API key",", enter a ",[37,49,50],{},"Name"," and click ",[37,53,54],{},"Create",".",[33,57,58],{},"Copy the key from the table — 32 capital letters.",[10,60,61,62,65,66,69],{},"Keep the key secret — it gives full API access to your account. Use ",[37,63,64],{},"Disable","\nto switch a key off without deleting it, and ",[37,67,68],{},"Activate"," to switch it back on.",[25,71,73],{"id":72},"authenticate","Authenticate",[10,75,76,77,80],{},"Send the key in the ",[22,78,79],{},"Api-Key"," header with every request:",[14,82,86],{"className":83,"code":84,"language":85,"meta":20,"style":20},"language-bash shiki shiki-themes github-light github-dark","curl https:\u002F\u002Fapi.trafficox.com\u002Fapi\u002Fv1\u002Fme \\\n  -H \"Api-Key: YOUR_API_KEY\"\n","bash",[22,87,88,105],{"__ignoreMap":20},[89,90,93,97,101],"span",{"class":91,"line":92},"line",1,[89,94,96],{"class":95},"sScJk","curl",[89,98,100],{"class":99},"sZZnC"," https:\u002F\u002Fapi.trafficox.com\u002Fapi\u002Fv1\u002Fme",[89,102,104],{"class":103},"sj4cs"," \\\n",[89,106,108,111],{"class":91,"line":107},2,[89,109,110],{"class":103},"  -H",[89,112,113],{"class":99}," \"Api-Key: YOUR_API_KEY\"\n",[115,116,117,130],"table",{},[118,119,120],"thead",{},[121,122,123,127],"tr",{},[124,125,126],"th",{},"Response",[124,128,129],{},"Cause",[131,132,133,144],"tbody",{},[121,134,135,141],{},[136,137,138],"td",{},[22,139,140],{},"401 {\"error\":\"Invalid API key\"}",[136,142,143],{},"The header is missing, or the key is wrong or disabled",[121,145,146,151],{},[136,147,148],{},[22,149,150],{},"401 {\"error\":\"Your API access disabled by platform. Please contact to support.\"}",[136,152,153],{},"API access is turned off for your account. Contact your account manager",[25,155,157],{"id":156},"conventions","Conventions",[159,160,161,167,173,202,215],"ul",{},[33,162,163,166],{},[37,164,165],{},"Format."," Requests and responses are JSON. Responses are not wrapped in an envelope: a single object comes back as an object, a list as an array.",[33,168,169,172],{},[37,170,171],{},"IDs."," Buy orders, sell orders and RTB feeds accept either their numeric ID (as shown in the platform) or their long internal ID.",[33,174,175,178,179,182,183,186,187,190,191,194,195,197,198,201],{},[37,176,177],{},"Dates."," Send ",[22,180,181],{},"date_start"," and ",[22,184,185],{},"date_end"," as ",[22,188,189],{},"YYYY-MM-DD"," or a full timestamp such as ",[22,192,193],{},"2026-10-25T00:00:00Z",". Times are in UTC. A ",[22,196,185],{}," at midnight covers that whole day, so ",[22,199,200],{},"date_start=date_end=2026-10-25"," returns all of 25 October.",[33,203,204,207,208,182,211,214],{},[37,205,206],{},"Lists."," Lists of orders and feeds return everything in one response, without pagination. Domain filters page with ",[22,209,210],{},"page",[22,212,213],{},"length"," (up to 20).",[33,216,217,220,221,224,225,55],{},[37,218,219],{},"Statistics"," are requested with ",[22,222,223],{},"POST"," and a JSON body of filters. See ",[226,227,229],"a",{"href":228},"\u002Fdocs\u002Fapi\u002Fstatistics","Statistics requests",[25,231,233],{"id":232},"errors","Errors",[115,235,236,249],{},[118,237,238],{},[121,239,240,243,246],{},[124,241,242],{},"Status",[124,244,245],{},"Body",[124,247,248],{},"Meaning",[131,250,251,266,281,295],{},[121,252,253,258,263],{},[136,254,255],{},[22,256,257],{},"404",[136,259,260],{},[22,261,262],{},"{\"error\":\"Not found!\"}",[136,264,265],{},"The ID doesn't exist or isn't yours",[121,267,268,273,278],{},[136,269,270],{},[22,271,272],{},"422",[136,274,275],{},[22,276,277],{},"{\"error\":\"Parameter is missing\", ...}",[136,279,280],{},"A required parameter is missing",[121,282,283,287,292],{},[136,284,285],{},[22,286,272],{},[136,288,289],{},[22,290,291],{},"{\"errors\": ...}",[136,293,294],{},"The request was understood but its values aren't valid",[121,296,297,302,307],{},[136,298,299],{},[22,300,301],{},"500",[136,303,304],{},[22,305,306],{},"{\"error\":\"Internal Server Error. Please, contact support.\"}",[136,308,309],{},"Something failed on our side — often an unreadable date",[311,312,313],"blockquote",{},[10,314,315,318,319,322,323,325,326,328],{},[37,316,317],{},"Note:"," If a statistics filter has an invalid value — for example an unknown\ncountry code — the response comes back with status ",[22,320,321],{},"200"," and an ",[22,324,232],{},"\nfield instead of data. Check for ",[22,327,232],{}," in statistics responses.",[25,330,332],{"id":331},"related","Related",[159,334,335,341],{},[33,336,337],{},[226,338,340],{"href":339},"\u002Fdocs\u002Fapi\u002Fquickstart","API quickstart",[33,342,343],{},[226,344,346],{"href":345},"\u002Fdocs\u002Fapi\u002Freference","API reference",[348,349,350],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":20,"searchDepth":352,"depth":352,"links":353},3,[354,355,356,357,358],{"id":27,"depth":107,"text":28},{"id":72,"depth":107,"text":73},{"id":156,"depth":107,"text":157},{"id":232,"depth":107,"text":233},{"id":331,"depth":107,"text":332},"Create an API key, authenticate your requests, and understand the API's conventions and errors.","md",{},true,null,"\u002Fdocs\u002Fapi\u002Fauthentication",{"title":5,"description":359},"docs\u002F4.api\u002F1.authentication","h9QSqYt7qV08wGfprBqg0zl-IgyFvaGZVcr_M01w6Gg",[369],{"title":370,"path":371,"stem":372,"children":373},"Docs","\u002Fdocs","docs",[374,378,404,459,498,513],{"title":375,"path":371,"stem":376,"description":377},"TrafficOX Documentation","docs\u002Findex","How to buy and sell traffic on TrafficOX — from your first top-up to tracking conversions.",{"title":379,"path":380,"stem":381,"children":382,"page":403},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[383,388,393,398],{"title":384,"path":385,"stem":386,"description":387},"Create your account","\u002Fdocs\u002Fgetting-started\u002Faccount","docs\u002F1.getting-started\u002F1.account","Sign up, confirm your email, complete your profile and secure your account.",{"title":389,"path":390,"stem":391,"description":392},"Top up your balance","\u002Fdocs\u002Fgetting-started\u002Ftop-up","docs\u002F1.getting-started\u002F2.top-up","Payment methods, minimum amounts, VAT, and what your first top-up unlocks.",{"title":394,"path":395,"stem":396,"description":397},"How your balance works","\u002Fdocs\u002Fgetting-started\u002Fbalance","docs\u002F1.getting-started\u002F3.balance","Buyer, seller and reserved balance — what each one holds, what you can spend and what you can withdraw.",{"title":399,"path":400,"stem":401,"description":402},"Referral program","\u002Fdocs\u002Fgetting-started\u002Freferrals","docs\u002F1.getting-started\u002F4.referrals","Invite advertisers and publishers with your link and earn 5% from them.",false,{"title":405,"path":406,"stem":407,"children":408,"page":403},"Advertisers","\u002Fdocs\u002Fadvertisers","docs\u002F2.advertisers",[409,414,419,424,429,434,439,444,449,454],{"title":410,"path":411,"stem":412,"description":413},"How buy orders work","\u002Fdocs\u002Fadvertisers\u002Fbuy-orders","docs\u002F2.advertisers\u002F01.buy-orders","What a buy order is, the ad formats you can buy, and what each order status means.",{"title":415,"path":416,"stem":417,"description":418},"Create a buy order","\u002Fdocs\u002Fadvertisers\u002Fcreate-buy-order","docs\u002F2.advertisers\u002F02.create-buy-order","Walk through the five steps of the order wizard — general settings, ads, targeting, pricing and limits.",{"title":420,"path":421,"stem":422,"description":423},"Targeting reference","\u002Fdocs\u002Fadvertisers\u002Ftargeting","docs\u002F2.advertisers\u002F03.targeting","Every targeting option in a buy order — what it does, its default, and how to narrow or block traffic.",{"title":425,"path":426,"stem":427,"description":428},"Landing pages and creatives","\u002Fdocs\u002Fadvertisers\u002Flanding-pages","docs\u002F2.advertisers\u002F04.landing-pages","Save landing page URLs and banner images in the Media Library, get them approved, and reuse them across orders.",{"title":430,"path":431,"stem":432,"description":433},"Track conversions","\u002Fdocs\u002Fadvertisers\u002Ftrack-conversions","docs\u002F2.advertisers\u002F05.track-conversions","Send conversions back to TrafficOX with a server-to-server postback or a pixel, and see cost per conversion and ROI in your stats.",{"title":435,"path":436,"stem":437,"description":438},"URL macros","\u002Fdocs\u002Fadvertisers\u002Furl-macros","docs\u002F2.advertisers\u002F06.url-macros","Placeholders you can put in your landing page URL — TrafficOX fills them in on every click.",{"title":440,"path":441,"stem":442,"description":443},"Domain filters","\u002Fdocs\u002Fadvertisers\u002Fdomain-filters","docs\u002F2.advertisers\u002F07.domain-filters","Keep lists of sites to buy from or to avoid, and attach them to your buy orders.",{"title":445,"path":446,"stem":447,"description":448},"Automation rules","\u002Fdocs\u002Fadvertisers\u002Fautomation-rules","docs\u002F2.advertisers\u002F08.automation-rules","Let TrafficOX raise or lower bids and black- or whitelist sources for you, based on your statistics.",{"title":450,"path":451,"stem":452,"description":453},"Read your statistics","\u002Fdocs\u002Fadvertisers\u002Fstatistics","docs\u002F2.advertisers\u002F09.statistics","Where to find your numbers — the dashboard, order statistics and total stats — and what each metric means.",{"title":455,"path":456,"stem":457,"description":458},"Buy through an RTB feed","\u002Fdocs\u002Fadvertisers\u002Frtb-feeds","docs\u002F2.advertisers\u002F10.rtb-feeds","Connect your DSP endpoint so TrafficOX sends you bid requests and you answer with bids.",{"title":460,"path":461,"stem":462,"children":463,"page":403},"Publishers","\u002Fdocs\u002Fpublishers","docs\u002F3.publishers",[464,469,474,479,484,489,493],{"title":465,"path":466,"stem":467,"description":468},"How selling works","\u002Fdocs\u002Fpublishers\u002Fhow-selling-works","docs\u002F3.publishers\u002F1.how-selling-works","Sell orders, the formats you can sell, and how your sites are approved before traffic is bought.",{"title":470,"path":471,"stem":472,"description":473},"Add and verify your domains","\u002Fdocs\u002Fpublishers\u002Fdomains","docs\u002F3.publishers\u002F2.domains","Add your sites, prove you own them, and get them approved so their traffic is bought.",{"title":475,"path":476,"stem":477,"description":478},"Create a sell order","\u002Fdocs\u002Fpublishers\u002Fcreate-sell-order","docs\u002F3.publishers\u002F3.create-sell-order","Set up a placement — name, price floor, fallback URL and the settings for popunder or sticky banners.",{"title":480,"path":481,"stem":482,"description":483},"Install the code","\u002Fdocs\u002Fpublishers\u002Finstall-code","docs\u002F3.publishers\u002F4.install-code","Put your sell order's script on your site, pass a sub ID, and add the lite script to the rest of your pages.",{"title":485,"path":486,"stem":487,"description":488},"Better Ads status","\u002Fdocs\u002Fpublishers\u002Fbetter-ads","docs\u002F3.publishers\u002F5.better-ads","Check whether ad-quality lists and Chrome's filters affect your domains, and what to do if they do.",{"title":450,"path":490,"stem":491,"description":492},"\u002Fdocs\u002Fpublishers\u002Fstatistics","docs\u002F3.publishers\u002F6.statistics","Your earnings, sold and returned traffic on the dashboard, per sell order and in total.",{"title":494,"path":495,"stem":496,"description":497},"Withdraw your earnings","\u002Fdocs\u002Fpublishers\u002Fwithdrawals","docs\u002F3.publishers\u002F7.withdrawals","Request a payout of your seller balance by Capitalist, Paxum or wire transfer.",{"title":499,"path":500,"stem":501,"children":502,"page":403},"Api","\u002Fdocs\u002Fapi","docs\u002F4.api",[503,504,507,510],{"title":5,"path":364,"stem":366,"description":359},{"title":340,"path":339,"stem":505,"description":506},"docs\u002F4.api\u002F2.quickstart","Three requests to get going — check your account, pull yesterday's stats by country, and pause an order.",{"title":346,"path":345,"stem":508,"description":509},"docs\u002F4.api\u002F3.reference","Every endpoint of the TrafficOX API, grouped by what it manages.",{"title":229,"path":228,"stem":511,"description":512},"docs\u002F4.api\u002F4.statistics","Breakdowns, filters, sub-breakdowns and the fields returned by every statistics endpoint.",{"title":514,"path":515,"stem":516,"description":517},"Glossary","\u002Fdocs\u002Fglossary","docs\u002F5.glossary","The terms used across TrafficOX and these docs, in plain words.",1793025800478]