API Access & System Settings in CAKE

This article will cover the following:


What Is the CAKE API?

The CAKE API is a way for external software — reporting dashboards, data warehouses, bidding tools, and custom integrations — to read and write data in your CAKE account automatically, without anyone logging in manually.

Note:
Not a developer? If you're not building integrations yourself, you may not need to touch the API at all. This article is most relevant to administrators and technical users setting up or maintaining connections between CAKE and other systems.
Use CaseWhat It DoesWho Benefits
Automated reportingPulls performance data into a BI tool or spreadsheet on a schedule.Analysts, media buyers.
Conversion postingSends conversion events from an external system into CAKE.Advertisers with server-side tracking.
Campaign managementCreates or updates offers, caps, and payouts programmatically.Network operations teams.
Affiliate data syncSyncs affiliate account details between CAKE and a CRM.Affiliate managers.

How to Generate an API Key

  1. Log in as an administrator and navigate to Admin → System Settings.
  2. Click the API tab.
  3. Click Generate API Key. CAKE creates a unique key for your account.
  4. Copy the key immediately and store it somewhere secure — such as a password manager. CAKE will not show the full key again after you leave this page.
  5. Click Save to confirm.
Caution:
Generating a new API key immediately invalidates the old one. Any integrations using the old key will break until updated. Only regenerate if your current key has been compromised or you have no active integrations.

Keeping Your API Key Secure

  • Never share your API key publicly. Don't paste it into emails, Slack messages, or public repositories like GitHub.
  • Store it securely. Use a secrets manager, environment variable, or password manager — not a plain text file.
  • Limit access. Only share the key with developers or systems that genuinely need it.
  • Rotate periodically. If you suspect it has been exposed, generate a new key and update all integrations.
  • Monitor the API log. Check regularly for requests you don't recognize (see next section).
Tip:
Have your developer store the key as an environment variable rather than writing it directly into application code. This makes it easier to rotate and much harder to accidentally expose.

The API Log

CAKE keeps a record of every request made to your account through the API. Access it at Admin → System Settings → API → API Log.

ColumnWhat It Tells You
Date / TimeWhen the request was made.
MethodWhich action or data was requested.
StatusWhether the request succeeded or returned an error.
IP AddressWhere the request originated.
Tip:
If an integration stops working, the API log is the first place to check. A pattern of failed requests often points to an expired key, a permissions issue, or a rate limit being hit.

System Status

The System Status section gives you a real-time overview of how your CAKE instance is performing. Find it at Admin → System Settings → Status.

ComponentWhat It Represents
TrackingWhether click and conversion tracking is recording events correctly.
ReportingWhether report data is up to date and queries are returning results.
APIWhether the API is accepting and processing requests.
Email notificationsWhether system-generated emails are being sent.
Pixel firingWhether advertiser and affiliate pixels are triggering on conversions.
Note:
If system status is green but something isn't working in your account, the problem is likely specific to your setup rather than a platform-wide issue. Check your tracking links, postback URLs, and offer settings.

Rate Limits and Best Practices

CAKE limits how many API requests any single account can make in a given time window. If you hit the limit, requests will return an error until the window resets.

  • Request only what you need. Avoid pulling large data sets more often than necessary.
  • Cache responses where possible. If your integration needs the same data repeatedly, store the response locally instead of requesting it again.
  • Handle errors gracefully. Build your integration to retry failed requests after a short delay.
  • Use date filters. Always filter by date range when pulling reports or logs.
  • Test in staging first. Before rolling out to production, test to catch unexpected request volumes or logic errors.

API: System & Lookup Endpoints

Retrieve API Logs

GET /api/2/api_logs.json
ParameterTypeRequiredDescription
start_datedateNoFilter logs on or after this date (YYYY-MM-DD).
end_datedateNoFilter logs on or before this date (YYYY-MM-DD).
user_idintegerNoLimit to logs generated by a specific user.
request_methodstringNoFilter by HTTP method: GET or POST.
start_at_rowintegerNoRow offset. Default: 0.
row_limitintegerNoMax log entries. Default: 25; max: 500.

Sample request

GET https://your-domain.cake.com/api/2/api_logs.json ?api_key=YOUR_API_KEY &start_date=2024-01-01 &end_date=2024-01-31 &request_method=GET

Sample response

{ "request_status": "Success", "api_logs": [{ "log_id": 9841, "request_method": "GET", "request_url": "/api/2/offers.json", "response_status": "Success", "created": "2024-01-15 08:42:11" }], "total_rows": 418 }

Get System Status

GET /api/2/system_status.json
ParameterTypeRequiredDescription
api_keystringYesYour CAKE API key. No other parameters required.

Sample request

GET https://your-domain.cake.com/api/2/system_status.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "system_status": { "status": "Operational", "message": "All systems are running normally." } }

Get Payout Types

GET /api/2/payout_types.json
ParameterTypeRequiredDescription
payout_type_idintegerNoReturn a single payout type by ID. Omit to return all types.

Sample request

GET https://your-domain.cake.com/api/2/payout_types.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "payout_types": [ {"payout_type_id": 1, "payout_type_name": "CPA"}, {"payout_type_id": 2, "payout_type_name": "CPC"}, {"payout_type_id": 3, "payout_type_name": "CPM"} ] }

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.