APRESLY API V1
Connect Apresly with Make
Register a lead after signup or purchase, pass the offer link to your email tool and read the deadline before a reminder.
Verified against the production API: October 9, 2026
On this page
Before you start
Prepare a published campaign, a key from API settings and a campaign ID from the quick start. Choose the event that should enter the customer into the campaign, such as a form signup or paid purchase.
This uses HTTP and does not require a native Apresly connector. Module availability and labels can depend on your tool’s version and plan. Testing makes a real registration, so use an email address you own.
1. Add the HTTP call
Add a store, form or CRM trigger to your scenario, followed by HTTP → Make a request. In HTTP v4, select API key authentication and store the secret in a keychain: header Authorization, value Bearer <YOUR_API_KEY>. Use POST with an application/JSON body, build an object with the fields below, and enable response parsing. HTTP module documentation.
2. Set the URL and data
URL: https://app.apresly.com/api/public/v1/campaigns/42/leads. Replace 42 with your campaign ID. The resulting request body should look like this:
{
"email": "[email protected]",
"language": "en"
}
Map email from the trigger instead of hardcoding the test address. Do not forward the entire contact object: extra fields are rejected. Use structured JSON so that the tool encodes values correctly.
3. Test and save the result
Expect 201 for a new lead or 200 for an existing one. Inspect warnings, then save these fields in your CRM or email platform:
offerLinks[].url: the personalized button URL. Select the intended page bypageId, rather than always assuming the first link is correct.deadline: the UTC deadline. Allow null in your mapping.mailTimerUrl: the countdown image source. Omit the image when it is null.
The next step in your automation sends the email. Apresly API does not send messages. If there are no links, stop the offer-email step and check warnings.
4. Send a reminder without registering again
Before a reminder, send another POST with the same JSON and headers to https://app.apresly.com/api/public/v1/campaigns/42/leads/lookup. This reads the offer without starting a new cycle.
Check that deadline has not expired and the selected link exists. For LEAD_NOT_FOUND, skip the reminder or route the event for diagnosis. A null deadline requires an explicit rule in your workflow; do not treat it as a future date.
5. Handle retries
Your trigger may deliver the same event multiple times. Store its event ID in your system and deduplicate email delivery, including when an API response is lost. created is not an exactly-once email guarantee.
On 429, wait Retry-After seconds. Retry timeouts and 503 with increasing backoff. Configuration errors such as 400, 401, 409, 415 and 422 need a fix instead of repeated calls. Keep keys, emails and personalized links out of logs, and restrict access to automation history.
The full API reference covers fields and campaign behavior.