Blueshift Segments API

A segment is a list of users that satisfy a criteria. For example, you can create a segment for users who are located in the San Francisco area and run campaigns for them.

Business capability
Customer Segmentation Management BC-420.20

Operations 2

GET /api/v1/segments/list Get list of segments #
GET /api/v1/segments/{segment_uuid}/matching_users.json Get segment membership counts #

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-segments-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

blueshift-segments-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 Segments API
  contact:
    email: support@getblueshift.com
servers:
- url: https://api.getblueshift.com
- url: https://api.eu.getblueshift.com
tags:
- name: Segments
  description: A segment is a list of users that satisfy a criteria. For example, you can create a segment for users who are located in the San Francisco area and run campaigns for them.
paths:
  /api/v1/segments/list:
    get:
      summary: Get list of segments
      description: Use this endpoint to get the list of segments.
      tags:
      - Segments
      security:
      - user_api_auth: []
      parameters:
      - name: name
        description: Search for segments that contain the specified string in the name.
        in: query
        schema:
          type: string
      - name: archived
        description: Search for segments with specified archived status. Value can be `0` to get a list of un-archived segments or `1` to get a list of archived segments. Leave blank to get a list of all segments.
        in: query
        schema:
          type: integer
      - name: per_page
        description: Specify the number of records to be returned per page
        in: query
        schema:
          type: string
      - name: page
        description: Specify the page number for the search results.
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  segments:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: High value customers
                        uuid:
                          type: string
                          example: e24f90d8-53df-46fd-8014-ff1bfa8774b5
                        mixin_key:
                          type: integer
                          example: null
                        created_at:
                          type: string
                          format: date-time
                          example: '2024-08-25T06:06:59.412Z'
                        updated_at:
                          type: string
                          format: date-time
                          example: '2021-08-25T06:06:59.412Z'
                        status:
                          type: string
                        approxusers:
                          type: integer
                          description: Approximate number of users in the segment. Includes known as well as anonymous users.
                        email_users:
                          type: integer
                          description: Approximate number of emailable users in the segment. Excludes opted-out users.
                        sms_users:
                          type: integer
                          description: Approximate number of SMS users in the segment. Excludes opted-out users.
                        push_users:
                          type: integer
                          description: Approximate number of Mobile Push enabled users in the segment. Excludes opted-out users.
                        approxusers_updated_at:
                          type: integer
                        version:
                          type: integer
        '400':
          description: Bad request - The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
        '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: Resource not found - Can happen due to resource conflicts. Re-try with exponential backoff. Contact us on support@blueshift.com if the issue persists.
        '409':
          description: Conflict error, please retry - The request could not be completed due to a conflict with the current state of the target resource, re-try with exponential backoff.
        '422':
          description: Unprocessable Entity - The request was well-formed but contains semantic errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
                    example: Validation failed
        '429':
          description: "Rate limit exceeded\t- Too many requests. Contact us on support@blueshift.com for recommended throughput."
        '500':
          description: "Internal Server Error\t- Please contact blueshift for more information."
        '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.
      operationId: getApiV1SegmentsList
      x-operation-id-source: derived
  /api/v1/segments/{segment_uuid}/matching_users.json:
    get:
      summary: Get segment membership counts
      description: Use this endpoint to get count of users in the segment.
      tags:
      - Segments
      security:
      - user_api_auth: []
      parameters:
      - name: segment_uuid
        description: UUID of the segment.
        in: path
        required: true
        schema:
          type: string
      - name: refresh
        description: Trigger job to update segment counts. Counts are updated asynchronously in the background. Use refresh=true to trigger a new count update, and subsequently poll with refresh=false to retrieve updated counts.
        in: query
        schema:
          type: boolean
      - name: channels
        description: 'Channels can be one of: ''users'', ''email'', ''push'', ''sms'', or ''inApp''. Parameter indicates which channel audience counts to refresh.'
        in: query
        example: email
        schema:
          type: string
      - name: bypass_global
        description: Set 'true' to return counts bypassing the global inclusion segments.
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  refresh_status:
                    type: string
                    example: refreshing
                    description: <p>'refreshing'- indicates count calculation job has triggered and awaiting counts to be computed in the background.</p> <p>'ready' - indicates count calculation job completed and counts have been updated at timestamp indicated in 'approxusers_updated_at'.</p>
                  approxusers:
                    type: integer
                    example: 45
                  email_users:
                    type: integer
                    example: 20
                  sms_users:
                    type: integer
                  push_users:
                    type: integer
                  in_app_users:
                    type: integer
                  approxusers_updated_at:
                    type: string
                    format: date-time
                    example: '2021-08-25T06:06:59.412Z'
                    description: Timestamp when segment counts were last updated.
        '400':
          description: Bad request - The request was invalid or cannot be otherwise served. An accompanying error message will explain further.
        '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: Resource not found - Can happen due to resource conflicts. Re-try with exponential backoff. Contact us on support@blueshift.com if the issue persists.
        '409':
          description: Conflict error, please retry - The request could not be completed due to a conflict with the current state of the target resource, re-try with exponential backoff.
        '422':
          description: Unprocessable Entity - The request was well-formed but contains semantic errors.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
                    example: Validation failed
        '429':
          description: "Rate limit exceeded\t- Too many requests. Contact us on support@blueshift.com for recommended throughput."
        '500':
          description: "Internal Server Error\t- Please contact blueshift for more information."
        '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.
      operationId: getApiV1SegmentsBySegmentUuidMatchingUsersJson
      x-operation-id-source: derived
components:
  securitySchemes:
    user_api_auth:
      type: http
      scheme: basic
    event_api_auth:
      type: http
      scheme: basic