Every call is read-only and returns your own data. Start with
get_account_info for your currency and timezone, then get_report_schema, which lists the dimensions, filters and metrics available to you, and the agent adapts its calls to it.Why did my clicks drop yesterday?
Your click count fell sharply yesterday and you want to know where the loss is: a day, an offer, a sub id, or clicks that were recorded as invalid. Prompt:“My clicks dropped yesterday compared to the day before. Can you find out why?”What the agent does:
- Calls
get_account_info. It returns thetimezonethe days are cut in. When a report’smetric_glossarysaysclicksare unique clicks, that is whatclicksmeans in every report below. - Calls
get_report_schemato confirm the dimensions (date,offer,sub1) and metrics (clicks,invalid_clicks,conversions,payout) available to you. - Calls
run_performance_reportwithfrom=2026-10-12,to=2026-10-13anddimensions=date. Two rows come back, one per day, which confirms the drop. The same call over an earlier window, for examplefrom=2026-10-05,to=2026-10-11, shows what a normal day looks like. - Calls
run_performance_reportwithfrom=2026-10-12,to=2026-10-13anddimensions=date,offer, withsort_by=clicks. Each row carriesoffer_id, so the agent sees which offer lost the most clicks between the two days. - Calls
search_activitywithtype=click,status=invalid,from=2026-10-13,to=2026-10-13andoffer_idset to that offer. Each row haserror_codeanderror_message; only the newest 1,000 clicks of the day are reachable, so the codes are a sample whentruncatedis true. Error code10000means Other: the reason is not itemised for this click.
invalid_clicks metric), and the most common error_code values with their messages among the clicks it could read. If most of the invalid clicks carry 10000, it says the reason is not itemised to you and suggests asking your network about that offer.
Find an offer I can run and get its tracking link
You are looking for a new offer in a vertical and a country, paid per sale, and want your link right away. Prompt:“Find me a sports offer I can run in Canada that pays per sale, and give me my tracking link.”What the agent does:
- Calls
list_entitieswithtype=categoryandfilters={"search":"sport"}to learn the exact category name, for exampleSports. - Calls
list_offerswithcategory=Sports,country=CA,payout_type=cpsandsort_by=updated. The response hastotal_matchingandoffers, each withoffer_id,name,application_status,payout.displayand, when caps are available to you,caps. - Calls
get_offerwithoffer_idset to the best match andinclude=tracking_url,caps,payout. It returns your link undertracking_url, the payout for each tracked event underpayout.events, and the limits and what remains today undercaps.
- No link available.
tracking_urlcomes back as{"hidden": true}with the note “A tracking link is not available for this offer.” The agent tells you so rather than building a link. - No cap information. When caps are not available to you,
capsis left out ofget_offerandlist_offersentirely. The agent reports that no cap figures are available instead of saying there is no cap.
list_offers only lists offers you can run now. An offer that does not appear, or that get_offer answers with not-found, is not available to you; the answer is the same as for an offer that does not exist.Check one conversion
A conversion you expected is missing from your numbers, or you want the details of one you can see. Prompt:“Look up conversion 7f3c2a9e1b4d4c6a8e5f0b1d2c3a4b5c from the last two weeks.”What the agent does:
- Calls
search_activitywithtype=conversion,conversion_id=7f3c2a9e1b4d4c6a8e5f0b1d2c3a4b5c,from=2026-09-30andto=2026-10-13.conversion_idcombines with no other filter. If you only have the click’s id, the agent usestransaction_idinstead, which returns the conversions of that click. - Reads the row:
timestamp,click_timestamp,offer_id,offer_name,event_name,payout,payout_type,currency,sub1tosub10, andcountry.
What do I have unpaid?
You want to know what you are owed and which invoices make it up. Prompt:“Which of my invoices are unpaid? Show the biggest balance first and tell me what is on it.”What the agent does:
- Calls
list_invoiceswithstatus=unpaid,sort_by=balanceandsort_direction=desc. With more than 500 matching invoices the sort is refused, so narrow withmin_start_timeormin_balancefirst. The first page carries asummarywithbilled,paidandbalanceper currency for every matching invoice, and each invoice row hasinvoice_id,start_time,end_time,billed,paidandbalance. - Calls
get_invoicewith theinvoice_idof the largest balance. It returnsdetails(offer, adjustment and VAT lines, each withamountandinvoice_currency_amount),extra_periodsandpayments. Lines are paged: whilehas_more_linesis true, the agent passesnext_cursorback ascursor. - Calls
list_paymentswithinvoice_idset to that invoice. With aninvoice_idand no dates, it covers all of that invoice’s payments. Each row hasstatus,payment_type,amountandtimestamp;amount_receivedappears only whenstatusissuccess.
Items that are not itemised as lines are summed in
other_items_total, so the lines plus other_items_total make up the invoice. Bank, wallet and account details of payments are never returned.Which sub ids earn the most this month?
You tag traffic withsub1 and want to know which values earn the most so far this month.
Prompt:
“Which of my sub1 values have earned the most payout so far this month?”What the agent does:
- Calls
get_report_schemato confirm thatsub1is a dimension andpayouta metric for your account. - Calls
run_performance_reportwithfrom=2026-10-01,to=2026-10-14,dimensions=sub1,sort_by=payout,sort_direction=descandpage_size=100. Each row carriessub1,clicks,conversionsandpayout. Thetotalsobject covers the whole filtered set, not just the page. - When
meta.has_moreis true, calls the same report again with the same arguments andcursorset tometa.next_cursor. - Keeps paging until
meta.has_moreis false. A report holds at most 500 rows across all pages, so whenmeta.result_cappedis true the last page ends at row 500, andmeta.row_limitgives the cap. The top-levelnotesays thetotalsstill cover every matched row.
sub1 values by payout with clicks and conversions beside each, and the share of the total they represent, computed from totals. If the cap was reached, the agent says the tail is not listed and offers to narrow the report, for example with filters=offer:123 or filters=country:US.
