Blueshift Live Activities API

The Live Activities API from Blueshift — 2 operation(s) for live activities.

Operations 2

POST /api/v1/live_activity/start Start a Live Activity
POST /api/v1/live_activity/update Update a Live Activity

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/blueshift-live-activities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

blueshift-live-activities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: These APIs will help you manage different workflows in Blueshift. Our powerful REST APIs provide an easy way to integrate your data and third party applications with Blueshift.
  version: 1.0.0
  title: Blueshift Live Activities API
  contact:
    email: support@getblueshift.com
servers:
- url: https://api.getblueshift.com
- url: https://api.eu.getblueshift.com
tags:
- name: Live Activities
paths:
  /api/v1/live_activity/start:
    post:
      summary: Start a Live Activity
      description: Starts a Live Activity on one or more customers' devices.
      tags:
      - Live Activities
      security:
      - event_api_auth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - customer_identifier_type
              - customer_identifiers
              - activity_attributes_type
              - activity_attributes
              - content_state
              - notification
              properties:
                customer_identifier_type:
                  type: string
                  enum:
                  - customer_id
                  - email
                  - phone_number
                  description: Type of identifier used in customer_identifiers.
                  example: email
                customer_identifiers:
                  type: array
                  items:
                    type: string
                  description: Identifier values. Maximum 50 per call.
                  example:
                  - jane.doe@example.com
                activity_attributes_type:
                  type: string
                  description: Name of the activity design, matching the name your app registers with registerPushToStart.
                  example: DeliveryActivityAttribute
                activity_attributes:
                  type: object
                  description: Static attributes that do not change for the life of the activity. Must include `bsftActivityId`, a unique identifier for this activity for this customer.
                  required:
                  - bsftActivityId
                  properties:
                    bsftActivityId:
                      type: string
                      description: Your identifier for this activity. Reuse it to update or end the activity.
                      example: order_4482
                  additionalProperties: true
                  example:
                    bsftActivityId: order_4482
                    activityName: 'Order #4482'
                content_state:
                  type: object
                  description: Dynamic content shown in the activity. The property names must exactly match the ContentState defined in your app. A mismatch is not reported as an error and the device discards the update.
                  additionalProperties: true
                  example:
                    title: Order confirmed
                    subtitle: Preparing your order
                    progress: 0.2
                notification:
                  type: object
                  description: Alert shown when the activity starts.
                  properties:
                    title:
                      type: string
                      example: 'Order #4482'
                    body:
                      type: string
                      example: Your order is confirmed
                stale_date:
                  type: string
                  format: date-time
                  description: ISO 8601 timestamp after which the content is considered out of date. Must be in the future.
                  example: '2026-07-29T18:30:00Z'
            example:
              customer_identifier_type: email
              customer_identifiers:
              - jane.doe@example.com
              activity_attributes_type: DeliveryActivityAttribute
              activity_attributes:
                bsftActivityId: order_4482
                activityName: 'Order #4482'
              content_state:
                title: Order confirmed
                subtitle: Preparing your order
                progress: 0.2
              notification:
                title: 'Order #4482'
                body: Your order is confirmed
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Result of the request.
                    example: ok
                  dispatched_to:
                    type: integer
                    description: Number of devices the message was dispatched to. A value of 0 means no device received it; check the errors array.
                    example: 1
                  errors:
                    type: array
                    description: Per-identifier errors. Empty when every identifier resolved to a device.
                    items:
                      type: object
                      properties:
                        customer_identifier_type:
                          type: string
                        customer_identifier_value:
                          type: string
                        error_message:
                          type: string
              examples:
                success:
                  summary: Activity dispatched to the customer's device
                  value:
                    status: ok
                    dispatched_to: 1
                    errors: []
                not_delivered:
                  summary: Request accepted, but no device could be reached
                  value:
                    status: ok
                    dispatched_to: 0
                    errors:
                    - customer_identifier_type: email
                      customer_identifier_value: jane.doe@example.com
                      error_message: No user found for given identifier
        '400':
          description: Bad Request - The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: Missing customer_identifier_type
        '401':
          description: Unauthorized - API authentication failed due to an invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Not authorized
        '403':
          description: Forbidden - The API key does not have sufficient permissions to perform this action.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Forbidden
        '404':
          description: Not Found - The requested resource was not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: No identifiers resolved
        '413':
          description: Payload Too Large - Too many customer identifiers in a single call.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: You can add maximum 50 customer identifiers in one API call
        '422':
          description: Unprocessable Entity - The account is not configured to deliver this request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: No push adapter configured
        '429':
          description: Rate limit exceeded - Too many requests
        '500':
          description: "Internal Server Error\t- Please contact blueshift for more information"
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: Delivery failed
        '502':
          description: Service unavailable, please retry - Bad Gateway, re-try with exponential backoff
        '503':
          description: Service unavailable, please retry - Service Unavailable, re-try with exponential backoff
        '504':
          description: Service unavailable, please retry - Gateway Timeout, please re-try with exponential backoff
  /api/v1/live_activity/update:
    post:
      summary: Update a Live Activity
      description: Updates the content of a running Live Activity, or ends it.
      tags:
      - Live Activities
      security:
      - event_api_auth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - customer_identifier_type
              - customer_identifiers
              - activity_attributes_type
              - bsft_activity_id
              - content_state
              properties:
                customer_identifier_type:
                  type: string
                  enum:
                  - customer_id
                  - email
                  - phone_number
                  description: Type of identifier used in customer_identifiers.
                  example: email
                customer_identifiers:
                  type: array
                  items:
                    type: string
                  description: Identifier values. Maximum 50 per call.
                  example:
                  - jane.doe@example.com
                activity_attributes_type:
                  type: string
                  description: Name of the activity design, matching the name your app registers with registerPushToStart.
                  example: DeliveryActivityAttribute
                bsft_activity_id:
                  type: string
                  description: The identifier you set as bsftActivityId when starting the activity.
                  example: order_4482
                content_state:
                  type: object
                  description: Updated dynamic content. The property names must exactly match the ContentState defined in your app.
                  additionalProperties: true
                  example:
                    title: Out for delivery
                    subtitle: Arriving by 6:45 PM
                    progress: 0.7
                notification:
                  type: object
                  description: Optional alert shown with the update. Omit it to update the activity silently.
                  properties:
                    title:
                      type: string
                      example: 'Order #4482'
                    body:
                      type: string
                      example: Your order is out for delivery
                end_activity:
                  type: boolean
                  description: Set to true to end the activity. The activity is removed from the Dynamic Island immediately and clears from the Lock Screen shortly after.
                  example: false
                stale_date:
                  type: string
                  format: date-time
                  description: ISO 8601 timestamp after which the content is considered out of date.
                  example: '2026-07-29T18:30:00Z'
                dismissal_date:
                  type: string
                  format: date-time
                  description: ISO 8601 timestamp at which the activity is dismissed from the device.
                  example: '2026-07-29T19:00:00Z'
            example:
              customer_identifier_type: email
              customer_identifiers:
              - jane.doe@example.com
              activity_attributes_type: DeliveryActivityAttribute
              bsft_activity_id: order_4482
              content_state:
                title: Out for delivery
                subtitle: Arriving by 6:45 PM
                progress: 0.7
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Result of the request.
                    example: ok
                  dispatched_to:
                    type: integer
                    description: Number of devices the message was dispatched to. A value of 0 means no device received it; check the errors array.
                    example: 1
                  errors:
                    type: array
                    description: Per-identifier errors. Empty when every identifier resolved to a device.
                    items:
                      type: object
                      properties:
                        customer_identifier_type:
                          type: string
                        customer_identifier_value:
                          type: string
                        error_message:
                          type: string
              examples:
                success:
                  summary: Update dispatched to the customer's device
                  value:
                    status: ok
                    dispatched_to: 1
                    errors: []
                not_delivered:
                  summary: Request accepted, but the activity was not found
                  value:
                    status: ok
                    dispatched_to: 0
                    errors:
                    - customer_identifier_type: email
                      customer_identifier_value: jane.doe@example.com
                      error_message: Running Live Activity not found for any device
        '400':
          description: Bad Request - The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: Missing customer_identifier_type
        '401':
          description: Unauthorized - API authentication failed due to an invalid or missing API key.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Not authorized
        '403':
          description: Forbidden - The API key does not have sufficient permissions to perform this action.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Forbidden
        '404':
          description: Not Found - The requested resource was not found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: No identifiers resolved
        '413':
          description: Payload Too Large - Too many customer identifiers in a single call.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: You can add maximum 50 customer identifiers in one API call
        '422':
          description: Unprocessable Entity - The account is not configured to deliver this request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: No push adapter configured
        '429':
          description: Rate limit exceeded - Too many requests
        '500':
          description: "Internal Server Error\t- Please contact blueshift for more information"
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        detail:
                          type: string
                          example: Delivery failed
        '502':
          description: Service unavailable, please retry - Bad Gateway, re-try with exponential backoff
        '503':
          description: Service unavailable, please retry - Service Unavailable, re-try with exponential backoff
        '504':
          description: Service unavailable, please retry - Gateway Timeout, please re-try with exponential backoff
components:
  securitySchemes:
    user_api_auth:
      type: http
      scheme: basic
    event_api_auth:
      type: http
      scheme: basic