Skip to main content

Blueshift

Blueshift is a customer data and cross-channel marketing engagement platform that unifies customer data into individual profiles and uses predictive intelligence to orchestrate personalized campaigns across email, mobile push, SMS, and other channels. Its REST API lets you read account configuration such as segments and product catalogs, ingest customer profiles and behavioral events, and keep catalog items in sync.

Blueshift icon

Power end-to-end data operations for your Blueshift API with Nexla. Our bi-directional Blueshift connector is purpose-built for Blueshift, 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 Blueshift or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Blueshift 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 Blueshift credential, you need to obtain an API key from your Blueshift account. Blueshift authenticates API requests using HTTP Basic authentication, where your API key is sent as the username and the password is left empty.

To obtain your API key, sign in to the Blueshift app and navigate to Account Settings > API keys. Blueshift issues two types of keys on this page:

  • User API key — used for reading account configuration (such as segments and catalogs) and for writing customer profiles. This is the key to use when creating a Nexla credential, because the credential connection test reads from the /catalogs endpoint.

  • Event API key — used specifically for event ingestion endpoints. Event endpoints in Nexla assume the configured User API key also carries event-send permission for your account.

Copy the User API key value, as it is required to create the credential in Nexla. For complete information about generating and managing API keys, see the Blueshift API keys documentation. For details on how Blueshift applies HTTP Basic authentication, see the Blueshift authorization documentation.

Authenticate

Blueshift uses HTTP Basic authentication for all API requests. Nexla sends your API key as the Basic auth username with an empty password, which is the scheme Blueshift expects.

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 Blueshift User API key in the API Key field. This is the key you obtained from Account Settings > API keys in the Blueshift app. Nexla uses this key to authenticate every request to the Blueshift API on your behalf.

    Keep your API key secure and do not share it publicly, as it provides access to your Blueshift account data and should be treated as sensitive information. If your API key is compromised, regenerate it in the Blueshift app under Account Settings > API keys. For complete information about obtaining and managing API keys, see the Blueshift API keys 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 Blueshift connector tile, then select the credential that will be used to connect to the Blueshift account, and click Next; or, create a new Blueshift 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 Blueshift 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.

Get Segments

Fetch the list of segments (groups of users matching defined criteria) configured in your Blueshift account.

  • This endpoint automatically retrieves all segments from your Blueshift account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to https://api.getblueshift.com/api/v1/segments/list. The endpoint URL is fixed by the template and your credential supplies authentication.
  • The endpoint uses pagination (iteration.type: paging.incrementing) to retrieve all segments. Pagination starts from page 1 and uses the page query parameter to navigate through pages. The per_page parameter controls how many records are returned per page, with an expected 50 records per page. The endpoint will automatically fetch all pages until all segments are retrieved.
  • The response data path is $.segments[*], which extracts all segment objects from the segments array in the API response.

Segments are reusable groups of users that match the criteria you define in Blueshift, and are commonly used to target campaigns. The maximum allowed page size is not publicly documented, so Nexla uses a conservative value of 50 records per page. For detailed information about this endpoint and its response format, see the Blueshift Get Segments documentation.

Get Catalogs

Fetch the list of product catalogs configured in your Blueshift account.

  • This endpoint automatically retrieves all catalogs from your Blueshift account. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses GET requests to https://api.getblueshift.com/api/v1/catalogs. The endpoint URL is fixed by the template and your credential supplies authentication.
  • The endpoint does not use pagination (iteration.type: static.url) and returns all catalogs in a single response. The response data path is $.catalogs[*], which extracts all catalog objects from the catalogs array in the API response.

Catalogs hold the product or content items that Blueshift uses for recommendations and personalization. The catalog records returned by this endpoint include each catalog's UUID, which you will need when sending items to a catalog from a Blueshift destination. For detailed information about this endpoint and its response format, see the Blueshift Get Catalogs documentation.

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

Blueshift data sources can also be manually configured to ingest data from any valid Blueshift 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.

Blueshift API endpoints follow the pattern https://api.getblueshift.com/api/v1/{endpoint_path}, and the Blueshift API returns data in JSON format. Authentication is handled automatically by your credential, which sends your API key using HTTP Basic authentication. For detailed information about Blueshift API endpoints and response formats, see the Blueshift API reference.

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 Blueshift 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 Blueshift destination, and select the Send to Destination option from the menu. Select the Blueshift connector from the list of available destination connectors, then select the credential that will be used to connect to the Blueshift account, and click Next; or, create a new Blueshift 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 Blueshift 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.

Create or Update Customer

Create or update a single customer profile in Blueshift.

  • This endpoint sends one customer profile per request. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses POST requests to https://api.getblueshift.com/api/v1/customers with a Content-Type: application/json header. Each record from your Nexset is sent as the JSON request body.
  • This endpoint does not automatically create a data source to track the responses received from the Blueshift API after each call.

Each record you send should include a customer identifier (such as email or customer_id) so that Blueshift can match it to an existing profile or create a new one. For detailed information about the customer object and its fields, see the Blueshift Create Customer documentation.

Bulk Create or Update Customers

Create or update customer profiles in bulk, sending multiple records in a single request.

  • The endpoint uses POST requests to https://api.getblueshift.com/api/v1/customers/bulk with a Content-Type: application/json header.
  • Batch mode is enabled for this endpoint (batch.mode: true), so multiple records from your Nexset are combined into a single API request. Nexla wraps the batched records in a customers array as required by the Blueshift API.
  • Up to 50 records are sent per request (max.poll.records: 50), matching Blueshift's bulk customer limit.
  • This endpoint does not automatically create a data source to track the responses received from the Blueshift API after each call.

Blueshift accepts up to 50 customers per bulk request and recommends keeping bulk customer traffic to roughly 5 calls per second. For detailed information about the bulk customers request format, see the Blueshift Bulk Customers documentation.

Send Event

Send a single customer event or interaction to Blueshift.

  • This endpoint sends one event per request. No additional configuration is required beyond selecting this endpoint template.
  • The endpoint uses POST requests to https://api.getblueshift.com/api/v1/event with a Content-Type: application/json header. Each record from your Nexset is sent as the JSON request body.
  • This endpoint does not automatically create a data source to track the responses received from the Blueshift API after each call.

Each event must include a customer identifier (such as email or customer_id) and an event name so that Blueshift can associate the activity with the correct profile. For detailed information about the event object, see the Blueshift Send Event documentation.

Send Bulk Events

Send multiple customer events to Blueshift in a single batch request.

  • The endpoint uses POST requests to https://api.getblueshift.com/api/v1/bulkevents with a Content-Type: application/json header.
  • Batch mode is enabled for this endpoint (batch.mode: true), so multiple records from your Nexset are combined into a single API request. Nexla wraps the batched records in an events array as required by the Blueshift API.
  • Up to 30 records are sent per request (max.poll.records: 30).
  • This endpoint does not automatically create a data source to track the responses received from the Blueshift API after each call.

As with single events, each event in the batch must include a customer identifier and an event name. For detailed information about the bulk events request format, see the Blueshift Bulk Events documentation.

Add or Update Catalog Items

Add or update items (products) in a specific Blueshift catalog identified by its catalog UUID.

  • Enter the catalog identifier in the Catalog UUID field. This is the UUID of the Blueshift catalog you want to add or update items in. You can obtain catalog UUIDs from the "Get Catalogs" source endpoint or from your Blueshift account.
  • The endpoint uses PUT requests to https://api.getblueshift.com/api/v1/catalogs/{catalog_uuid}, where {catalog_uuid} is the Catalog UUID you configured. The endpoint URL is automatically constructed from the catalog UUID you specify.
  • The endpoint sends data from your Nexset as the request body in JSON format with a Content-Type: application/json header.
  • This endpoint does not automatically create a data source to track the responses received from the Blueshift API after each call.

The Catalog UUID identifies which catalog receives the items. For detailed information about the catalog items request format, see the Blueshift Add Catalog Items documentation.

Manual configuration

Blueshift destinations can also be manually configured to send data to any valid Blueshift 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.

Blueshift API endpoints follow the pattern https://api.getblueshift.com/api/v1/{endpoint_path} and use JSON format for request bodies. Authentication is handled automatically by your credential, which sends your API key using HTTP Basic authentication. For detailed information about Blueshift API endpoints and request formats, see the Blueshift API reference.

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 Blueshift endpoint, open the destination resource menu, and select Activate.

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