> ## Documentation Index
> Fetch the complete documentation index at: https://help.sendspark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API — Automatically Create Dynamic Videos via API

> Learn how to automatically create dynamic AI-personalized videos using Sendspark API with step-by-step setup and endpoint guides.

The Sendspark API lets you automatically create AI-personalized dynamic videos in response to any trigger, such as a form submission, a new list member, or an action in your product. You authenticate with an API key and secret, create a dynamic video campaign, then add prospects to it, and Sendspark generates a personalized video for each contact. All endpoints live under `https://api-gw.sendspark.com/v1`.

## Key takeaways

* You need two credentials: an **API Key** (scoped to your workspace) and an **API Secret** (scoped to your user profile). Pass both as `x-api-key` and `x-api-secret` headers on every request.
* The core flow is: create a dynamic video campaign, then add one prospect (`/prospect`) or many (`/prospects/bulk`) to it. Sendspark generates a video per prospect.
* Adding prospects requires `processAndAuthorizeCharge: true`, which acknowledges charges for videos generated above your plan limit.
* Rate limits are 30 requests per minute for all endpoints, except `/prospects/bulk`, which is limited to 1 request per minute.

### API endpoints at a glance

| Method | Endpoint                                                           | Purpose                             |
| ------ | ------------------------------------------------------------------ | ----------------------------------- |
| `POST` | `/workspaces/{workspaceId}/dynamics`                               | Create a dynamic video campaign     |
| `GET`  | `/workspaces/{workspaceId}/dynamics`                               | List dynamic video campaigns        |
| `GET`  | `/workspaces/{workspaceId}/dynamics/{dynamicId}`                   | Get a dynamic campaign by ID        |
| `GET`  | `/workspaces/{workspaceId}/dynamics/{dynamicId}/prospects/{email}` | Get prospect data by email          |
| `POST` | `/workspaces/{workspaceId}/dynamics/{dynamicId}/prospect`          | Add a single prospect to a campaign |
| `POST` | `/workspaces/{workspaceId}/dynamics/{dynamicId}/prospects/bulk`    | Add and process multiple prospects  |
| `GET`  | `/auth/health`                                                     | Check API health status             |

Sendspark lets you automatically generate [AI-personalized videos](/dynamic-videos-make-videos-with-ai-introductions) via our API. This is helpful when you want to create dynamic videos based on specific actions such as...

* Filling out a form
* Being added to a list
* Being enrolled in email sequence
* Being added to LinkedIn automation campaign
* Taking action in your product
* And more!

***

## Sendspark API Basics

### Where to view Your API Credentials

You can access your information in the [API Credentials tab](https://sendspark.com/settings/api-credentials) in your Sendspark settings.

### What are API Keys and Secrets?

* An **API Key** is specific to your Sendspark **workspace**. It lets you access your workspace from other applications, so you can take actions via automation.
* An **API Secret**is specific to your Sendspark user profile. Every member of your workspace can generate their own API Secrets. These will let each of you take actions as "you" via automation.

### How to Generate an API Key

1. Go to your [API Credentials Tab](https://sendspark.com/settings/api-credentials)
2. Select "Create New Key"
3. You'll see your API Key appear

<img src="https://mintcdn.com/sendspark/UIi4-Jgzixh11h3k/images/9051823/46716992-image.png?fit=max&auto=format&n=UIi4-Jgzixh11h3k&q=85&s=578323972345de656e123f8277b424dc" alt="Sendspark API and Secret Keys" width="2068" height="292" data-path="images/9051823/46716992-image.png" />

### How to Generate an API Secret

1. Click on the Key Icon next to your API Key
2. Click "Generate New Secret Key" ​<img src="https://mintcdn.com/sendspark/UIi4-Jgzixh11h3k/images/9051823/ca92ddf5-image.png?fit=max&auto=format&n=UIi4-Jgzixh11h3k&q=85&s=cdcecc9538e338183b54ff763374dfe6" alt="Generate API Secret Key" width="458" height="198" data-path="images/9051823/ca92ddf5-image.png" />
3. Your API Secret Key will appear for you to copy and use.
4. Note that you will never able to view this key again. If you need to use an API Secret in the future, you will have to remember this one, or generate a new API Secret Key.

### Sendspark API Rate Limits

All API endpoints are limited to 30 requests per minute rate limit, except \`\`../prospects/bulk\`, which is limited to 1 request per minute.

## Endpoint reference

The credentials, headers, and campaign → prospect flow above apply to every endpoint. For the full request and response schema of each endpoint — with an interactive **Try it** console — see the **[API reference](/api-reference)** tab.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="How do I authenticate with the Sendspark API?">
    Every request includes two headers: `x-api-key` (your workspace API Key) and `x-api-secret` (your user API Secret), plus `Accept: application/json`. Generate both in the API Credentials tab of your Sendspark settings. Note that an API Secret is shown only once, so store it securely when you generate it.
  </Accordion>

  <Accordion title="What's the difference between an API Key and an API Secret?">
    An API Key is specific to your Sendspark workspace and lets other applications act on that workspace. An API Secret is specific to your individual user profile, so each member of a workspace can generate their own and take actions as themselves via automation.
  </Accordion>

  <Accordion title="How do I create a personalized video for a contact via the API?">
    First create a dynamic video campaign with `POST /dynamics`. Then add the contact with `POST /dynamics/{dynamicId}/prospect` (or `/prospects/bulk` for many at once), including fields like contactName, contactEmail, company, jobTitle, and backgroundUrl. Sendspark generates a personalized video for each prospect you add.
  </Accordion>

  <Accordion title="Why do I need processAndAuthorizeCharge set to true?">
    When adding prospects, `processAndAuthorizeCharge` must be `true` for the request to work. It confirms that you understand and authorize any charges associated with generating dynamic videos above your plan limit.
  </Accordion>

  <Accordion title="What are the API rate limits?">
    All endpoints are limited to 30 requests per minute, except `/prospects/bulk`, which is limited to 1 request per minute.
  </Accordion>

  <Accordion title="How do I get a Sendspark partner account?">
    If you're building an integration with Sendspark in your product for your customers to use, you're likely eligible for a free partner account. Reach out to Sendspark support via the chatbot on our website and tell us about the integration you're building.
  </Accordion>

  <Accordion title="What are some good examples of Sendspark integrations?">
    You can see where the Sendspark API has been implemented successfully in existing integrations on Clay, Expandi, Zapier, and HubSpot Workflows.
  </Accordion>
</AccordionGroup>

*Updated July 2026.*
