REST API
Redemption Feed: Learn about the structure and delivery of our Redemption Feed, a data file securely provided to our partners, essential for verification, reconciliation, and partners sharing with their merchants.
Quick Links:
🚀 Try the API → Jump straight into testing the Merchant Performance Reporting endpoint.
📖 View Complete API Reference → Explore all endpoints, schemas, and examples.
Abstract
The Redemptions API facilitates the structured retrieval of daily partner redemption data through a RESTful HTTP interface. The API provides a simple and secure mechanism for partners to request redemption files for a specified date.
This document outlines the use of a REST API to obtain a downloadable redemption data file via a pre-signed URL.
Partners interact with the API by sending GET requests to retrieve a time-limited download link for a redemption file corresponding to a specific UTC date, typically the previous day. The response contains metadata about the file, including its name and expiration window. Access to the redemption file is secured using a pre-signed URL that is valid for a limited duration.
The document includes endpoint details and emphasizes that proper usage ensures timely and reliable access to daily redemption data.
Purpose
- Redemptions API that partners can invoke to retrieve daily redemption data files for their processed transactions.
- Partners can invoke this API to access redemption data for a specified UTC date.
How It Works
- We provide a REST API to make it easier for partners to retrieve daily redemption data files
Please keep the following in mind:
- Date must be a past date (not today or a future date).
- Redemptions can have up to 7-14 days delay due to a lag time in data delivery from some publishers.
Recommendations on how to call
- Partners should call the endpoint /api/v1/partner/redemptions once per day to retrieve redemption data.
- The request should be made for the previous calendar day in UTC, using the date query parameter in YYYY-MM-DD format.
- Example: If today is 2026-01-06 (UTC), request redemptions for 2026-01-05.
- The response contains a pre-signed URL that provides temporary access to a file containing redemption records for the requested date.
- The pre-signed URL is valid for 60 minutes. Partners should download the file within this time window.
- Partners should use the returned url field to download the redemption file. The fileName field indicates the name of the file that will be downloaded
Important: Because offers running on our network across our supply are activatable card-linked offers, we are obligated to our consumers who activated to retain the offers until redemption expiry. When a Partner sends a signal to "take down" or delete a merchant offer, note that for any customer that activates the offer, it will continue to be valid and paid out for redemption until the remaining 30-45 day redemption period winds down. For these reasons, you may still see redemptions for those dates post merchant offer deletion.
Guard Rails
- Every Partner will be provided with a daily quota of the number of calls they can make, this should be ~ Number of merchant offers
- Every Partner will be provided with an RPS, for example, 10 calls per second
- API will return HTTP 429 if a Partner exceeds the quota of the daily limit or RPS
Endpoint Details
Get daily redemptions pre-signed URL
| Hostname (Production) | api.cardlytics.com |
|---|---|
| Hostname (Sandbox) | api-sandbox.cardlytics.com |
| Endpoint | /api/v1/partner/redemptions |
| Method | GET |
| Accept | application/json |
| Request Payload | Request Schema |
| Response | Response Schema and Payload Sample |
Request Schema
| Field | Data Type | Required | Notes |
|---|---|---|---|
| date | String | Yes | Date for which to retrieve redemptions (format: YYYY-MM-DD). Must be a past date (not today or a future date). |
Response Schema
| Field | Data Type | Notes |
|---|---|---|
| url | String | Pre-signed S3 URL to download the redemption file for the requested date. The URL is time-bound and valid for the duration specified by expiresIn. |
| expiresIn | Numeric | Time in seconds for which the pre-signed URL remains valid (currently 3600 seconds / 60 minutes). |
| date | String | Date for which redemptions were requested (format: YYYY-MM-DD). This value always matches the request date. |
| fileName | String | Name of the redemption file that will be downloaded when accessing the URL. |
Response Payload Sample
{
"url": "https://external-tpc-partner-data-prod.s3.us-east-1.amazonaws.com/PARTNER_CODE/daily-redemptions/2026-01-04-201601-257-rp75AQT9.csv?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=ASIARGSNQZNSIIAXF4D3%2F20260106%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260106T225005Z&X-Amz-Expires=3600&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEJ%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIQCFSoHO%2FRDBoVfl6ZlWxL%2BB%2Fvl1w5pC1GDooTe8ixVAxAIgLQRvbt%2Bm5jjMamGgE8kdHuiJmZisTdo0wZZOSnOoGXYqsQMIaBABGgwwODI4NDA3MDE3OTYiDBhPUcg5wXS93VMmQCqOAzjC1KsO6Alzm%2FUEAbPQRtvt5EaVVwpR3pKDM8H8b2pW0uWqioz%2FQZ9ZlLwSRX0FK1Ord4g0wwOq5vXqKnsvgQIPW1t67LYUXeLeCVzgE4IIVOEbR4DhCCAz5Oh8ZlcIQox03OlcVzObN94isw%2FyEztLj9zaDNELPCPB6MeNihxc%2FMG%2FyiDcNl%2FL9fF8K8NinhezWstv%2BLOBdft9C6wFdqkOGhn%2F4WLTgYTTqOZlNsofzSePNsC0Ji9hIYUdBdJhCyw2XJDRGAilhV2GQl%2Fk05qXh61b9uVN3qKc9RVaSculJHswFwHtziwpu%2By8yoPV7JpGL65xXdfG8bUJSikHqvnlElr5tETwxe4RyrrLIerEce4jjI%2FuGMKFt58jfNRp6GFoPBv%2FKvM3zytIp8MdmOZWLTUTRtZ5EFtWiGk0Hhcw%2BT572IVZz8Y7uq96Py2M8S4cLdTRSp6gXcnsFrGHVLab%2BOHwFRJICivHHfSWqQsZpMr2tQ363hjIkHj4aRHKtYm8a8m8CiQTBLKAeoHJMJuj9soGOp0BTfV6bYCn3iCB0rnIFHov%2BZBsZcTy4Kr3LSUS1MLpdAEad1A%2BFpR%2BjC8nNlBLjnxZ6XlAQ3C4uGybn04DobQy%2F6NlhGOsMg2TZx4LqY7yQYJbW1Pg8vR%2BYL4KN2VnqCblZv5tsj0hBwnVOcgjQpL%2BCdFsrn%2Bsehl2cZFDesd3siWyirUcfRjncF7PMsJHYqoDpwqy3tAi6l2VH4qTBA%3D%3D&X-Amz-Signature=277520c54f3723bdb58d6326640a339cef60a2a7b4919512e824e457deee7c69&X-Amz-SignedHeaders=host&x-id=GetObject",
"expiresIn": 3600,
"date": "2026-01-04",
"fileName": "2026-01-04-201601-257-rp75AQT9.csv"
}
Interactive API TestingReady to test the API? 👉 Visit our Interactive API Reference to try out endpoints with real requests.
Updated 3 days ago