Endpoints
Method | Endpoint | Description |
|---|---|---|
GET |
| Retrieve all balances associated with a specific account. |
GET |
| Retrieve a specific balance |
POST |
| Create a new balance for a specified account. |
PATCH |
| Modify balance’s metadata (name, start/end date - for deposited funds, see below) |
POST |
| Add/remove funds deposited in a specific balance. |
GET |
| Retrieve all campaigns linked to a specific balance. |
POST |
| Add campaigns to a specific balance. |
POST |
| Remove campaigns from a specific balance. |
GET |
| Retrieve all changes made historically to a balance |
Balance Parameters
Attribute | Data Type | Description |
|---|---|---|
|
| Balance ID Accepted values: string of int64 Writeable? N / Nullable? N |
|
| Balance name Accepted values: up to 255-char strings Writeable? Y / Nullable? N |
|
| Purchase order number Accepted values: up to 32-char strings Writeable? Y / Nullable? Y |
|
| Amount of funds deposited; uncapped if Accepted values: Writeable? Y / Nullable? Y |
|
| Amount of funds already spent Accepted values: 0 ≤ Writeable? N / Nullable? N |
|
| Amount of funds already spent Accepted values: 0 ≤ Writeable? N / Nullable? Y |
|
| Balance start date; if time zone is not set, will considerAccount‘s time zone as default Accepted values: Writeable? Y / Nullable? N |
|
| Balance end date; if time zone is not set, will considerAccount‘s time zone as default Accepted values: Default: if Writeable? Y / Nullable? Y |
|
| Balance current status Accepted values: Writeable? N / Nullable? N |
|
| Timestamp of balance creation, in UTC Accepted values: Writeable? N / Nullable? N |
|
| Timestamp of last balance update, in UTC Accepted values: Writeable? N / Nullable? N |
|
| An optional memo note that can be set in the balance Accepted values: up to 250-char strings Writeable? Y / Nullable? Y |
|
| The balance type is computed based on the deposited amount: Accepted values: Writeable? N / Nullable? N
|
|
| The type of balance that will be used based on the campaign type Accepted values: Writeable? N / Nullable? N |
|
| Billing type of the balance Accepted values: ⚠️Note:
Writeable? N / Nullable? N |
- Writeable (Y/N): Indicates if the field can be modified in requests.
- Nullable (Y/N): Indicates if the field can accept null/empty values.
- Primary Key: A unique, immutable identifier of the entity, generated internally by Criteo. Primary keys are typically ID fields (e.g.,
retailerId,campaignId,lineItemId) and are usually required in the URL path.
Balance History Parameters
Attribute | Data Type | Description |
|---|---|---|
|
| Timestamp of balance update Accepted values: Writeable? N / Nullable? N |
|
| Username who modified the insertion order Accepted values: strings in format “j.doe” Writeable? N / Nullable? N |
|
| Definition of the type of change in a balance Accepted values:
|
|
| Structure with the change details (from Balance History endpoint) Parameters:
|
Get all Balances
This endpoint lists all balances in an account. Results are paginated usingpageIndex and pageSize query parameters; if omitted, defaults to 0 and 25, respectively. See API Response.
Sample Request
Get specific balance
Retrieves the balance details of one specific balances belonging to an account. Sample RequestCreate a new account Balance
This endpoint creates a new balance in the specified account. Sample RequestModify Balance Metadata
This endpoint modifies the metadata of a specified balance, likename, poNumber, startDate or endDate. To modify deposited funds, check the following endpoint.
endDate attribute now supports explicitly removing an end date from a balance. You can now provide endDate as an object containing a value field. If endDate is omitted from the request, the existing value will remain unchanged.This allows balances to be converted from fixed date ranges to open-ended balances when required for advertiser or retailer workflows.billByRetailerendDate
nullvalue for endDate:
endDate:
null value for endDate:
Add or Remove Balance Funds
This endpoint allows adding or removing funds deposited in a specific balance.billByRetailerAttribute | Data Type | Description |
|---|---|---|
|
| Difference amount of fund to be added/removed from balance; it cannot reduce the current amount of funds deposited to less than zero Accepted values: Writeable? N / Nullable? N |
|
| New purchase order number Accepted values: up to 32-char strings Writeable? Y / Nullable? Y |
|
| A memo note that should be set in the balance together with this modification Accepted values: up to 250-char strings Writeable? Y / Nullable? Y |
Get all Campaigns on a specific Balance
This endpoint lists all campaigns on the specified balance. Results are paginated usingpageIndex and pageSize query parameters; if omitted, defaults to 0 and 25, respective - see API Response
Response Body Parameters
Attribute | Data Type | Description |
|---|---|---|
|
| CampaignID, respective to the campaign(s) currently appended to the balance Accepted values: string of int64 Writeable? N / Nullable? N |
Add Campaigns to a specific Balance
This endpoint adds one or more campaigns to the specified balance. The results are provided in a single page. In this example, a campaign had already existed on the balance before two new additions. Request Body ParametersAttribute | Data Type | Description |
|---|---|---|
|
| CampaignID, required to define to which campaign(s) the balance should be appended or deleted Accepted values: string of int64 Writeable? N / Nullable? N |
Remove Campaigns from a specific Balance
This endpoint removes one or more campaigns from the specified balance. The resulting state of the balance is returned as a single page. Request Body ParametersAttribute | Data Type | Description |
|---|---|---|
|
| CampaignID, required to define to which campaign(s) the balance should be appended or deleted Accepted values: string of int64 Writeable? N / Nullable? N |
Get Balance History
This endpoint lists all changes made to a specific balance. Results are paginated usingoffset and limit query parameters; if omitted, defaults to 0 and 500, respectively. See API Response.
Additional query parameter limitToChangeTypes can be used to inform a comma-separated list of changeType values.
modifiedByUser - When a balance is updated via Criteo’s Retail Media UI, the user login name will be provided. For instance, if “Kip Heaney” updated the balance on 2023-11-07, it indicates that Kip made the change through the Criteo Retail Media UI.If a balance is updated through the Criteo API, the name of the API application responsible for the change will be shown. For example, on 2024-03-20, the balance was updated by the API application Retail Media API Application.Responses
Response | Title | Detail | Troubleshooting |
|---|---|---|---|
🟢 | Call executed with success | ||
🟢 | Balance request created with success | ||
🔴 | Error deserializing request | Field xyz is not valid | Review the value of field xyz provided in the request |
🔴 | Change data capture type xxx is not supported | Change data capture type xxx is not supported | The value of
changeTypevalues defined above |
🔴 | Invalid name | Balance name should be unique. There exists balance with the specified name. Balance creation/update has been canceled | Check value of |
🔴 | Invalid deltaamount | Can not decrease funds to less than zero | Review value of |
🔴 | Invalid operation | Can only change the field xxx of a balance not billed by retailer. | Cannot edit balances not created through the API; only balances with billing type |
🔴 | Invalid operation | Can not add funds to a balance not billed by retailer. | Cannot edit balances not created through the API; only balances with billing type |
🔴 | Authorization error | Resource access forbidden: does not have permissions | One of the permission levels was not respected. Make sure that the respective API app has access to:
|