Skip to main content

SparkPost

SparkPost is a transactional and marketing email delivery service with analytics and deliverability tools. The Nexla connector uses the SparkPost REST API to read data such as transmissions, templates, suppression lists, sending domains, recipient lists, and deliverability metrics, and to send data by creating and managing those same resources.

SparkPost icon

Power end-to-end data operations for your SparkPost API with Nexla. Our bi-directional SparkPost connector is purpose-built for SparkPost, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to SparkPost or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your SparkPost workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a SparkPost credential, you need a SparkPost account and an API key. SparkPost authenticates API requests with an API key that is sent in the Authorization header of each request. The API is served from https://api.sparkpost.com/api/v1 (or the EU host https://api.eu.sparkpost.com/api/v1 for EU accounts).

To obtain your SparkPost API key, follow these steps:

  1. Sign in to your SparkPost account at app.sparkpost.com (or the EU app for EU accounts).

  2. Navigate to Configuration > API Keys in the account settings, or go directly to the API Keys page at https://app.sparkpost.com/account/api-keys.

  3. Click New API Key to create a key.

  4. Enter a name for the key (e.g., "Nexla Integration") and select the API permissions the key should grant. Grant the permissions required for your use case — for example, read/write access to transmissions, templates, suppression lists, sending domains, recipient lists, and metrics.

  5. Click Create API Key, then copy the generated key value immediately. SparkPost displays the full key only once, so store it securely before leaving the page.

Keep the API key confidential. If a key is compromised, revoke it on the API Keys page and generate a new one. For full details on authentication and the available endpoints, see the SparkPost API Documentation.

Authenticate

Credentials required

An authentication method that requires sending a unique secret token with each API request

FieldRequiredSecretDescription
API Key ValueYesYesAn encoded string value used as a secret token to authenticate API requests

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your SparkPost API key in the API Key Value field. This is the key you generated in Prerequisites and is sent in the Authorization header for all API requests to SparkPost. The API key is sensitive and must be kept confidential.

    If your API key is compromised, revoke it on the SparkPost API Keys page and generate a new one. The API key grants access to your SparkPost resources based on the permissions selected when the key was created.

    For detailed information about authentication and available endpoints, see the SparkPost API Documentation.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the SparkPost connector tile, then select the credential that will be used to connect to SparkPost, and click Next; or, create a new SparkPost credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common SparkPost endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

[Rest API] List transmissions

List transmissions.

  • This endpoint retrieves transmissions from your SparkPost account. Optional Campaign Id and Template Id parameters can be supplied to filter the results to a specific campaign or template.

[Rest API] Retrieve a transmission

Retrieve a transmission.

  • This endpoint retrieves the details of a single transmission identified by its Id.

[Rest API] Search suppressions

Search suppressions.

  • This endpoint searches the suppression list. Optional To, From, Types, Per Page, and Page parameters can be supplied to filter results by date range and suppression type and to control pagination.

[Rest API] Bulk create or update suppressions

Bulk create or update suppressions.

  • This endpoint creates or updates multiple suppression list entries in a single request.

[Rest API] Retrieve suppression list summary

Retrieve suppression list summary.

  • This endpoint retrieves a summary count of the entries on your suppression list.

[Rest API] Retrieve a suppression for a recipient

Retrieve a suppression for a recipient.

  • This endpoint retrieves the suppression status for a single recipient identified by the Recipient parameter.

[Rest API] Create or update a suppression

Create or update a suppression.

  • This endpoint creates or updates a suppression list entry for the recipient identified by the Recipient parameter.

[Rest API] List templates

List templates.

  • This endpoint retrieves the list of stored templates in your SparkPost account.

[Rest API] Retrieve a template

Retrieve a template.

  • This endpoint retrieves a single template identified by its Id. An optional Draft parameter controls whether the draft or published version is returned.

[Rest API] List sending domains

List sending domains.

  • This endpoint retrieves the list of sending domains configured in your SparkPost account.

[Rest API] Retrieve a sending domain

Retrieve a sending domain.

  • This endpoint retrieves the details of a single sending domain identified by the Domain parameter.

[Rest API] List recipient lists

List recipient lists.

  • This endpoint retrieves the recipient lists stored in your SparkPost account.

[Rest API] Create a recipient list

Create a recipient list.

  • This endpoint creates a new recipient list from the request data.

[Rest API] Retrieve a recipient list

Retrieve a recipient list.

  • This endpoint retrieves a single recipient list identified by its Id.

[Rest API] Update a recipient list

Update a recipient list.

  • This endpoint updates the recipient list identified by its Id.

[Rest API] Validate a single recipient email address

Validate a single recipient email address.

  • This endpoint validates a single recipient email address identified by the Email parameter and returns the validation result.

[Rest API] Get deliverability metrics

Get deliverability metrics.

  • This endpoint retrieves deliverability metrics for the time range specified by the From and To parameters. The Metrics parameter selects which metrics are returned.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

SparkPost data sources can also be manually configured to ingest data from any valid SparkPost API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new SparkPost data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the SparkPost destination, and select the Send to Destination option from the menu. Select the SparkPost connector from the list of available destination connectors, then select the credential that will be used to connect to SparkPost, and click Next; or, create a new SparkPost credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common SparkPost endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

[Rest API] Create and send a transmission

Create and send a transmission.

  • This endpoint sends each record from your Nexset as a JSON request body to create and send a new transmission.

[Rest API] Delete scheduled transmissions by campaign_id

Delete scheduled transmissions by campaign_id.

  • This endpoint deletes scheduled transmissions that belong to the campaign_id supplied in the request.

[Rest API] Delete a scheduled transmission

Delete a scheduled transmission.

  • This endpoint deletes a single scheduled transmission identified by its Id.

[Rest API] Delete a suppression

Delete a suppression.

  • This endpoint deletes the suppression list entry for the recipient identified by the Recipient parameter.

[Rest API] Create a template

Create a template.

  • This endpoint sends each record from your Nexset as a JSON request body to create a new template.

[Rest API] Update a template

Update a template.

  • This endpoint updates the template identified by its Id using the record data from your Nexset.

[Rest API] Delete a template

Delete a template.

  • This endpoint deletes the template identified by its Id.

[Rest API] Preview a template with substitution data

Preview a template with substitution data.

  • This endpoint previews the template identified by its Id, applying the substitution data supplied in the request body.

[Rest API] Create a sending domain

Create a sending domain.

  • This endpoint sends each record from your Nexset as a JSON request body to create a new sending domain.

[Rest API] Update a sending domain

Update a sending domain.

  • This endpoint updates the sending domain identified by the Domain parameter using the record data from your Nexset.

[Rest API] Delete a sending domain

Delete a sending domain.

  • This endpoint deletes the sending domain identified by the Domain parameter.

[Rest API] Verify a sending domain

Verify a sending domain.

  • This endpoint triggers verification of the sending domain identified by the Domain parameter.

[Rest API] Delete a recipient list

Delete a recipient list.

  • This endpoint deletes the recipient list identified by its Id.

Manual configuration

SparkPost destinations can also be manually configured to send data to any valid SparkPost API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

SparkPost APIs typically expect JSON format for most operations. For update operations, include the ID of the object to be updated at the end of the URL.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured SparkPost endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the SparkPost endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.