How to Manage Advertisers via the CAKE API

This article will cover the following:


Overview

The Advertisers API lets you create and manage advertiser accounts programmatically, keeping CAKE in sync with your CRM or onboarding workflows. All endpoints require your api_key.

Tip:
See Managing Advertisers in CAKE for a full guide to advertiser statuses, billing cycles, and offer associations via the UI.

List Advertisers

GET /api/2/advertisers.json
ParameterTypeRequiredDescription
advertiser_idintegerNoFilter to a single advertiser by ID.
advertiser_namestringNoFilter by partial or full name.
advertiser_statusstringNoFilter by status: active, inactive, or pending.
account_manager_idintegerNoFilter by assigned account manager.
start_at_rowintegerNoRow offset. Default: 0.
row_limitintegerNoMax records. Default: 25; max: 5000.

Sample request

GET https://yournetwork.cake.com/api/2/advertisers.json ?api_key=YOUR_API_KEY &advertiser_status=active &start_at_row=0 &row_limit=25

Sample response

{ "request_status": "Success", "advertisers": [{ "advertiser_id": 101, "advertiser_name": "Acme Media Group", "advertiser_status": "active", "account_manager_id": 5, "website": "https://acmemedia.com", "created": "2024-01-15T09:00:00Z" }], "total_records": 1 }

Create Advertiser

POST /api/2/advertiser.json
ParameterTypeRequiredDescription
advertiser_namestringYesDisplay name for the new advertiser account.
account_manager_idintegerYesUser ID of the account manager to assign.
advertiser_statusstringNoInitial status. Default: active.
websitestringNoAdvertiser's website URL.
billing_cycle_idintegerNoID corresponding to the advertiser's billing frequency.
country_idintegerNoCAKE country ID for the advertiser's primary country.
phonestringNoAdvertiser contact phone number.

Sample request

POST https://yournetwork.cake.com/api/2/advertiser.json { "api_key": "YOUR_API_KEY", "advertiser_name": "Pinnacle Health LLC", "account_manager_id": 5, "advertiser_status": "active", "website": "https://pinnaclehealth.com", "billing_cycle_id": 2 }

Sample response

{ "request_status": "Success", "advertiser": { "advertiser_id": 143, "advertiser_name": "Pinnacle Health LLC", "advertiser_status": "active" } }

Update Advertiser

POST /api/2/update_advertiser.json
ParameterTypeRequiredDescription
advertiser_idintegerYesID of the advertiser to update.
advertiser_namestringNoNew display name.
advertiser_statusstringNoUpdated status: active, inactive, pending, or suspended.
account_manager_idintegerNoReassign to a different account manager.
billing_cycle_idintegerNoUpdated billing cycle ID.

Sample request

POST https://yournetwork.cake.com/api/2/update_advertiser.json { "api_key": "YOUR_API_KEY", "advertiser_id": 143, "advertiser_status": "suspended" }

Sample response

{ "request_status": "Success", "advertiser": { "advertiser_id": 143, "advertiser_status": "suspended" } }

Get Advertiser Offers

Returns all offers associated with a given advertiser. Useful for auditing which campaigns belong to which client.

GET /api/2/advertiser_offers.json
ParameterTypeRequiredDescription
advertiser_idintegerYesID of the advertiser whose offers you want to retrieve.
offer_statusstringNoFilter by offer status: active, paused, or inactive.

Sample request

GET https://yournetwork.cake.com/api/2/advertiser_offers.json ?api_key=YOUR_API_KEY &advertiser_id=143 &offer_status=active

Sample response

{ "request_status": "Success", "offers": [ {"offer_id": 12345, "offer_name": "Premium Card Signup", "offer_status": "active"}, {"offer_id": 12346, "offer_name": "Health Insurance Lead", "offer_status": "active"} ] }

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.