Skip to main content

Generate personalized pages & dynamic GIFs using Sendr API

John Bromley avatar
Written by John Bromley
Updated this week

This guide will walk you through the available endpoints, how to authenticate, and how to integrate Sendr to generate personalized pages and GIFs.

🌐 Base URL

https://api.sendr.io

All API endpoints are appended to this base URL.

πŸ” Authentication

All API requests must include your Sendr API Key in the headers:

X-API-Key: YOUR_API_KEY
Accept: application/json

You can generate your API Key in the app.sendr.io > Settings


πŸ“ Sendr Endpoints

1. List Page Templates

Retrieve all your page templates.

Endpoint:

GET /api/v1/page-template/list

Headers:

X-API-Key: YOUR_API_KEY
Accept: application/json

Sample Response:

[
{
"id": "template_123",
"name": "Welcome Page",
"thumbnailUrl": "https://example.com/thumb.jpg"
"pageViews": 40,
"videoPlays": 0,
"uniqueViews": 17,
}
]


2. Get Page Template Variables

Fetch the variables defined in a page template. These variables are used when generating personalized pages.

Endpoint:

GET /api/v1/page-template/{{Page_Template_ID}}/variables

Replace {{Page_Template_ID}} with your page template ID that can be found in the URL of your page template in Sendr. Example: https://app.sendr.io/templates/296

Headers:

X-API-Key: YOUR_API_KEY
Accept: application/json

Sample Response:

[
{
"tag": "firstName",
"label": "First Name"
},
{
"tag": "companyName",
"label": "Company Name"
}
]


3. Generate Personalized Page

Create a dynamic, personalized page using a template and user-specific variables. This request is asynchronous β€” you’ll receive the completed page via a webhook event.

Endpoint:

POST /api/v1/enrichment/personalized-page

Headers:

X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Body:

{
"templateId": "template_123",
"websiteToScreenshotUrl": "https://yourwebsite.com",
"variablesValues": {
"firstName": "John",
"companyName": "Sendr Inc."
},
"attributes": {
"userId": "456",
"customNote": "Follow-up email"
}
}

Response:

{
"jobId": "job_001"
}


4. Webhook: Page Generation Completed

You’ll receive a POST request when the page is ready.

Payload:

{
"pageUrl": "https://sendr.page/generated/abc123",
"attributes": {
"userId": "456",
"customNote": "Follow-up email"
}
}

Use the attributes you passed in the request to map results back to your system.


5. Generate GIF from Personalized Page

Convert a personalized page into an animated GIF. This is also asynchronous, and results will be sent via webhook.

Endpoint:

POST /api/v1/enrichment/dynamic-gif

Headers:

X-API-Key: YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Body:

{
{
"pageUrl": "https://sendr.page/generated/abc123",
"attributes": {
"userId": "456",
"campaign": "AprilLaunch"
}
}

Response:

{
"jobId": "job_002"
}


6. Webhook: GIF Generation Completed

Once the GIF is ready, your webhook endpoint will receive:

{
"gifEmbed": "<iframe src='https://sendr.page/gif/abc123' />",
"attributes": {
"userId": "456",
"campaign": "AprilLaunch"
}
}


πŸ“© Webhook Configuration

Set your webhook URL and secret key in the Sendr Settings under Webhook Endpoint.

Webhook Headers:

X-Webhook-Secret: YOUR_SECRET

Use the attributes object to identify and map jobs in your app.


πŸ’‘ Tips

  • You can pass any key-value pair in attributes to help track jobs.

  • All request bodies should be in JSON format.

  • Page and GIF generation are queued jobs β€” always use the webhook to receive the final result.


πŸ›  Need Help?

Contact our support team at [email protected] or drop us a message on live if you need help setting up your integration.

Did this answer your question?