CAKE API — Billing & Payments

This article will cover the following:

Why use this API?
Use the Billing & Payments API to build automated reconciliation workflows, export billing data into external accounting systems, and audit payment records without navigating the CAKE UI.
Authentication: All CAKE API requests require your api_key parameter. Find yours under Setup → System Access → API Keys.

Overview

CAKE's Billing & Payments features give network operators centralized control over all financial records and payment infrastructure. From generating invoices for affiliate payouts to configuring how advertisers are billed for conversions, this area is the financial backbone of your network. Navigate to Billing → Invoices, Billing → Payment Methods, or Admin → Billing Cycles to manage through the UI.



Key Concepts

  • Invoice — A financial document summarizing amounts owed to an affiliate (payout invoice) or by an advertiser (revenue invoice) for a billing period.
  • Billing Cycle — Recurring time interval determining when invoices are generated and payments are due (Net 7, Net 15, Net 30, weekly, bi-weekly).
  • Invoice StatusPending (not yet approved), Approved (authorized for payment), Paid (payment issued), Void (cancelled).
  • Payment Method — Stored remittance details for an affiliate or advertiser (PayPal email, ACH account, wire details).
  • Payment Type — Classification of payment mechanism: PayPal, Check, ACH, Wire Transfer, Prepaid.
  • Currency — Monetary denomination for transactions. CAKE supports multi-currency networks.


Available Actions

Get Invoices

Retrieves invoice records based on filter criteria. Use for reconciliation, exporting to external accounting systems, auditing payment history, or monitoring pending/approved invoices.

When to use: Pull invoice data for reconciliation; export to QuickBooks or other accounting systems; monitor payment status across a billing period.
GET /api/2/invoices.json
ParameterTypeRequiredDescription
api_keystringYesYour CAKE API key.
invoice_idintegerNoFilter to a specific invoice.
affiliate_idintegerNoFilter by affiliate.
advertiser_idintegerNoFilter by advertiser.
invoice_statusstringNoPending | Approved | Paid | Void
start_datedateNoStart of date range (YYYY-MM-DD).
end_datedateNoEnd of date range (YYYY-MM-DD).
start_at_rowintegerNoPagination offset. Default 1.
row_limitintegerNoMax records. Default 100, max 10000.

Sample request

GET https://yourdomain.cakemarketing.com/api/2/invoices.json?api_key=YOUR_API_KEY&affiliate_id=67890&invoice_status=Approved&start_date=2026-01-01&end_date=2026-01-31&start_at_row=1&row_limit=50

Sample response

{ "request_status": "Success", "response": { "invoices": [ { "invoice_id": 10042, "invoice_date": "2026-01-31", "invoice_status": "Approved", "affiliate_id": 67890, "affiliate_name": "MediaBridge Partners", "billing_cycle_name": "Net 30", "currency_symbol": "USD", "total_payout": "4825.50", "payment_type": "PayPal", "date_approved": "2026-02-05" } ], "total_rows": 1 } }


Get Billing Cycles

Retrieves billing cycle configurations available in your network. Use to enumerate valid billing_cycle_id values when onboarding affiliates or advertisers.

When to use: Look up valid billing_cycle_id values before creating affiliate or advertiser records.
GET /api/2/billing_cycles.json
ParameterTypeRequiredDescription
api_keystringYesYour CAKE API key.
billing_cycle_idintegerNoFilter to a specific billing cycle.

Sample request

GET https://yourdomain.cakemarketing.com/api/2/billing_cycles.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "billing_cycles": [ { "billing_cycle_id": 1, "billing_cycle_name": "Net 7" }, { "billing_cycle_id": 2, "billing_cycle_name": "Net 15" }, { "billing_cycle_id": 3, "billing_cycle_name": "Net 30" }, { "billing_cycle_id": 4, "billing_cycle_name": "Weekly" }, { "billing_cycle_id": 5, "billing_cycle_name": "Bi-Weekly" } ] }


Get Payment Methods

Retrieves stored payment method records. Use to enumerate payment methods before assigning to affiliates or auditing payment configurations.

When to use: Audit payment method configurations; retrieve valid payment_method_id values for affiliate account setup.
GET /api/2/payment_methods.json
ParameterTypeRequiredDescription
api_keystringYesYour CAKE API key.
payment_method_idintegerNoFilter to a specific payment method.

Sample request

GET https://yourdomain.cakemarketing.com/api/2/payment_methods.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "payment_methods": [ { "payment_method_id": 1, "payment_method_name": "Check", "payment_type_id": 1 }, { "payment_method_id": 2, "payment_method_name": "Wire Transfer", "payment_type_id": 4 }, { "payment_method_id": 7, "payment_method_name": "PayPal - network@example.com", "payment_type_id": 2 } ] }


Get Payment Types

Retrieves payment type classifications available in your network (e.g. PayPal, Check, ACH, Wire Transfer).

When to use: Look up valid payment_type_id values when configuring payment methods for affiliates or advertisers.
GET /api/2/payment_types.json
ParameterTypeRequiredDescription
api_keystringYesYour CAKE API key.
payment_type_idintegerNoFilter to a specific payment type.

Sample request

GET https://yourdomain.cakemarketing.com/api/2/payment_types.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "payment_types": [ { "payment_type_id": 1, "payment_type_name": "Check" }, { "payment_type_id": 2, "payment_type_name": "PayPal" }, { "payment_type_id": 3, "payment_type_name": "ACH" }, { "payment_type_id": 4, "payment_type_name": "Wire Transfer" }, { "payment_type_id": 5, "payment_type_name": "Prepaid" } ] }


Get Currencies

Retrieves currencies configured in your CAKE network. Use to look up valid currency_id values when creating offers or configuring multi-currency affiliate accounts.

When to use: Enumerate valid currency_id values before creating offers or configuring affiliate payment settings in multi-currency networks.
GET /api/2/currencies.json
ParameterTypeRequiredDescription
api_keystringYesYour CAKE API key.
currency_idintegerNoFilter to a specific currency.
currency_symbolstringNoFilter by currency symbol (e.g. USD, EUR, GBP).

Sample request

GET https://yourdomain.cakemarketing.com/api/2/currencies.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "currencies": [ { "currency_id": 1, "currency_name": "US Dollar", "currency_symbol": "USD" }, { "currency_id": 2, "currency_name": "Euro", "currency_symbol": "EUR" }, { "currency_id": 3, "currency_name": "British Pound", "currency_symbol": "GBP" } ] }


If you have any questions, please reach out to your dedicated CAKE Client Success Manager/Account Manager or contact the CAKE Support Team at support@getCAKE.com.

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.