CrossEngage Raw Export API

The Raw Export API API from CrossEngage — 5 operation(s) for raw export api.

Operations 7

GET /destination Get all destinations and their details #
GET /destination/{id} Get a certain destination and its details #
GET /event-class Get all event classes #
GET /export Get all exports and their details #
POST /export Request an export(users) #
GET /export/{exportId} Get a certain export's details #
DELETE /export/{exportId} Cancel an export #

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/crossenagage-raw-export-api-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

crossenagage-raw-export-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Raw Export API
  version: '1.0'
  description: "This asynchronous API enables export of user & event data from CrossEngage.\n\nBecause sometimes events might come out of order or later than expected, \nto avoid inconsistencies or skipped data, we enforce a time gap for the data, that we export. \nWith this setting we won't export any events with a timestamp later than **3 hours** before export start time.\n\n#### Versioning\n\nThe API version is defined in the header `X-XNG-ApiVersion`. \nTo use the export API provide version **2**.\n\n#### Authentication\n\nCrossEngage uses **header authentication**.\nTo get your Master API key, please log in to the [app](https://app.crossengage.io) and navigate\nto **Settings**. You will find it in the **System setup -> API keys** section\nin the `Master API key` value.\n\nThe following is an example of the format of an authentication header:\n\n* `X-XNG-AuthToken`: `1ab00011122c1234`\n\n#### Date Format\n\nDates and times are expressed in ISO8601 format in UTC (Coordinated Universal Time), with a special UTC designator (\"Z\")\nFor more information please check [here](https://www.w3.org/TR/NOTE-datetime).\n\nPlease note, that Segment Buider in the CrossEngage App is using your local time zone.\nThis means that if you'd like your Export API data to align with your Segment data,\nyou need to use that same time zone when requesting your export via API.\n\n#### Data Availability\n\nThe data freshness for exported data is 3 hours relative to the export completion time.\n\n#### Error Handling\n\nWhen exporting data from CrossEngage, note the following error handling practices:\n\nResume or retry uploads that fail due to connection interruptions or any `5xx` errors, including:\n\n* `500 Internal Server Error`\n\n* `502 Bad gateway`\n\n* `503 Service Unavailable`\n\n* `504 Gateway Timeout`\n\nHow to retry requests made to CrossEngage in case of errors:\n\n* Use an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) strategy \nif an export request returns a 5xx server error. These errors can occur if a server is \noverloaded. Exponential backoff can alleviate such problems during periods \nof high request volume or heavy network traffic.\n\n* Other kinds of requests should not be handled by exponential backoff but you can still retry a number of them. \nWhen retrying these requests, limit the number of times you retry them. For example your code could limit to ten \nretries or less before reporting the error to our team for investigation."
  x-apib-source: https://userseventsexportapiv1.docs.apiary.io/api-description-document
servers:
- url: https://api.crossengage.io/
security:
- XngAuthToken: []
tags:
- name: Raw Export API
paths:
  /destination:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items: {}
              example:
              - id: b393489f-7d76-41c2-bb2f-f965ab997d2e
                name: My destination name
                type: EXPORT
                destination: https://api-stg.xng.rocks/events
                createdAt: '2019-08-21T12:10:47Z'
                updatedAt: '2019-08-21T12:11:47Z'
      summary: Get all destinations and their details
      operationId: getAllDestinationsAndTheirDetails
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: type
        in: query
        description: _Optional_. Type of destination that should be returned. When not provided all destinations will be returned.
        required: false
        schema:
          type: string
          enum:
          - EXPORT
          - CALLBACK
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
  /destination/{id}:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    enum:
                    - b393489f-7d76-41c2-bb2f-f965ab997d2e
                    description: ID of a destination.
                  name:
                    type: string
                    description: Name of a destination.
                  type:
                    type: string
                    enum:
                    - EXPORT
                    - CALLBACK
                    description: Type of a destination.
                  destination:
                    type: string
                    description: Destination url or folder.
                  createdAt:
                    type: string
                    description: ISO 8601 formatted string representing creation date of a destination.
                  updatedAt:
                    type: string
                    description: ISO 8601 formatted string representing last modification date of destination settings.
                required:
                - id
                - type
              example:
                id: b393489f-7d76-41c2-bb2f-f965ab997d2e
                name: My destination name
                type: EXPORT
                destination: https://api-stg.xng.rocks/events
                createdAt: '2019-08-21T12:10:47Z'
                updatedAt: '2019-08-21T12:11:47Z'
      summary: Get a certain destination and its details
      operationId: getACertainDestinationAndItsDetails
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: id
        in: path
        description: _Required_. ID of a destination to be returned.
        required: true
        schema:
          type: string
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
  /event-class:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items: {}
              example:
              - name: message.viewed
                legacyName: mail.open
                channel: mail
      summary: Get all event classes
      operationId: getAllEventClasses
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
  /export:
    get:
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                type: array
                items: {}
              example:
              - status: WAITING
                requestedAt: '2019-09-04T15:30:53.298Z'
                startedAt: '2019-09-04T15:36:53.298Z'
                finishedAt: '2019-09-04T15:37:53.298Z'
                id: 1ee25bc0-21aa-4759-8716-8397b6997e98
                exportDestinationId: fec9ce18-a152-4fec-ab69-1b22606a015e
                callbackDestinationId: 4ce5fad8-4ec6-41ad-a5a0-fbf9b9ebdde0
                rawExport: true
                outputFormat: PARQUET
                outputSuffix: PARQUET
                segmentId: '67'
                attributes:
                  enabled: true
                  filter:
                    action: INCLUDE
                    names:
                    - traits.firstName
                    - traits.lastName
                    - traits.email
                events:
                  enabled: false
      summary: Get all exports and their details
      operationId: getAllExportsAndTheirDetails
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: status
        in: query
        description: _Optional_. Export status filter. By default only active exports are returned (`WAITING` and `RUNNING`)
        required: false
        x-example: FINISHED
        schema:
          type: string
          enum:
          - WAITING
          - RUNNING
          - FINISHED
          - CANCELED
      - name: pageNumber
        in: query
        description: _Optional_. page number.
        required: false
        x-example: '3'
        schema:
          type: integer
      - name: pageSize
        in: query
        description: _Optional_. page size.
        required: false
        x-example: '25'
        schema:
          type: integer
          default: 10
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
    post:
      responses:
        '200':
          description: Export job scheduled.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - WAITING
                    - RUNNING
                    - FINISHED
                    - CANCELED
                    description: Status of an export.
                  requestedAt:
                    type: string
                    description: ISO 8601 formatted string representing the export request date and time.
                  startedAt:
                    type: string
                    description: ISO 8601 formatted string representing the export start date and time.
                  finishedAt:
                    type: string
                    description: ISO 8601 formatted string representing the export finish date and time.
                  id:
                    type: string
                    description: ID of a requested export.
                  exportDestinationId:
                    type: string
                    description: _Required_. ID of a destination used for saving the export data.
                  callbackDestinationId:
                    type: string
                    description: _Optional_. ID of a destination used to send callback notifications generated by the export job. When not provided no callbacks will be sent.
                  rawExport:
                    type: boolean
                  outputFormat:
                    type: string
                    description: _Optional_. This allows defining the export data format(PARQUET or JSON) defaults to JSON.
                  outputSuffix:
                    type: string
                    description: _Optional_. String that will be appended to the File-Name.
                  segmentId:
                    type: string
                    description: _Optional_. ID of a user segment to be exported. When not provided all users will be exported. Please note that providing a segment will add an additional filtering step, which can slow down your export.
                  attributes:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: _Optional_. This toggles attribute data export. When not provided takes default value `false` so that attributes will not be exported.
                      filter:
                        type: object
                        properties:
                          action:
                            type: string
                            enum:
                            - INCLUDE
                            - EXCLUDE
                            description: _Required_. Action to be done using the names array. Required when using the `filter` object.
                          names:
                            type: array
                            description: _Required_. User attribute names that will be used together with the action for the export.
                            items: {}
                        required:
                        - action
                        - names
                        description: _Optional_. The `filter` object allows you to include or exclude certain attributes from the export. When not provided, all user attribute data will be exported.
                    description: _Required_. Export settings for user attributes. Can not be used in conjuction with the `events` object.
                  events:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: _Optional_. When not provided takes default value `false` as events will not be exported with the raw user export.
                    description: _Required_. Export settings for event data. Can be used in conjunction with the `attributes` object.
                required:
                - exportDestinationId
                - rawExport
                - attributes
                - events
              example:
                status: WAITING
                requestedAt: '2019-09-04T15:30:53.298Z'
                startedAt: '2019-09-04T15:36:53.298Z'
                finishedAt: '2019-09-04T15:37:53.298Z'
                id: 1ee25bc0-21aa-4759-8716-8397b6997e98
                exportDestinationId: fec9ce18-a152-4fec-ab69-1b22606a015e
                callbackDestinationId: 4ce5fad8-4ec6-41ad-a5a0-fbf9b9ebdde0
                rawExport: true
                outputFormat: PARQUET
                outputSuffix: PARQUET
                segmentId: '67'
                attributes:
                  enabled: true
                  filter:
                    action: INCLUDE
                    names:
                    - traits.firstName
                    - traits.lastName
                    - traits.email
                events:
                  enabled: false
      summary: Request an export(users)
      operationId: requestAnExportUsers
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/userExportRequest'
  /export/{exportId}:
    get:
      responses:
        '200':
          description: Export details and status.
          headers: {}
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                    - WAITING
                    - RUNNING
                    - FINISHED
                    - CANCELED
                    description: Status of an export.
                  requestedAt:
                    type: string
                    description: ISO 8601 formatted string representing the export request date and time.
                  startedAt:
                    type: string
                    description: ISO 8601 formatted string representing the export start date and time.
                  finishedAt:
                    type: string
                    description: ISO 8601 formatted string representing the export finish date and time.
                  id:
                    type: string
                    description: ID of a requested export.
                  exportDestinationId:
                    type: string
                    description: _Required_. ID of a destination used for saving the export data.
                  callbackDestinationId:
                    type: string
                    description: _Optional_. ID of a destination used to send callback notifications generated by the export job. When not provided no callbacks will be sent.
                  rawExport:
                    type: boolean
                  outputFormat:
                    type: string
                    description: _Optional_. This allows defining the export data format(PARQUET or JSON) defaults to JSON.
                  outputSuffix:
                    type: string
                    description: _Optional_. String that will be appended to the File-Name.
                  segmentId:
                    type: string
                    description: _Optional_. ID of a user segment to be exported. When not provided all users will be exported. Please note that providing a segment will add an additional filtering step, which can slow down your export.
                  attributes:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: _Optional_. This toggles attribute data export. When not provided takes default value `false` so that attributes will not be exported.
                      filter:
                        type: object
                        properties:
                          action:
                            type: string
                            enum:
                            - INCLUDE
                            - EXCLUDE
                            description: _Required_. Action to be done using the names array. Required when using the `filter` object.
                          names:
                            type: array
                            description: _Required_. User attribute names that will be used together with the action for the export.
                            items: {}
                        required:
                        - action
                        - names
                        description: _Optional_. The `filter` object allows you to include or exclude certain attributes from the export. When not provided, all user attribute data will be exported.
                    description: _Required_. Export settings for user attributes. Can not be used in conjuction with the `events` object.
                  events:
                    type: object
                    properties:
                      enabled:
                        type: boolean
                        description: _Optional_. When not provided takes default value `false` as events will not be exported with the raw user export.
                    description: _Required_. Export settings for event data. Can be used in conjunction with the `attributes` object.
                required:
                - exportDestinationId
                - rawExport
                - attributes
                - events
              example:
                status: WAITING
                requestedAt: '2019-09-04T15:30:53.298Z'
                startedAt: '2019-09-04T15:36:53.298Z'
                finishedAt: '2019-09-04T15:37:53.298Z'
                id: 1ee25bc0-21aa-4759-8716-8397b6997e98
                exportDestinationId: fec9ce18-a152-4fec-ab69-1b22606a015e
                callbackDestinationId: 4ce5fad8-4ec6-41ad-a5a0-fbf9b9ebdde0
                rawExport: true
                outputFormat: PARQUET
                outputSuffix: PARQUET
                segmentId: '67'
                attributes:
                  enabled: true
                  filter:
                    action: INCLUDE
                    names:
                    - traits.firstName
                    - traits.lastName
                    - traits.email
                events:
                  enabled: false
      summary: Get a certain export's details
      operationId: getACertainExportSDetails
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: exportId
        in: path
        description: _Required_. `id` of an export
        required: true
        x-example: 1ee25bc0-21aa-4759-8716-8397b6997e98
        schema:
          type: string
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
    delete:
      responses:
        '200':
          description: Export job stopped.
          headers: {}
          content: {}
      summary: Cancel an export
      operationId: cancelAnExport
      description: ''
      tags:
      - Raw Export API
      parameters:
      - name: exportId
        in: path
        description: _Required_. `id` of an export
        required: true
        x-example: 1ee25bc0-21aa-4759-8716-8397b6997e98
        schema:
          type: string
      - name: X-XNG-ApiVersion
        in: header
        description: e.g. 2
        required: false
        x-example: '2'
        schema:
          type: string
      - name: X-XNG-AuthToken
        in: header
        description: e.g. YourAPIKey
        required: false
        x-example: YourAPIKey
        schema:
          type: string
components:
  schemas:
    userExportRequest:
      type: object
      required:
      - exportDestinationId
      - rawExport
      - attributes
      - events
      properties:
        exportDestinationId:
          type: string
          example: fec9ce18-a152-4fec-ab69-1b22606a015e
          description: _Required_. ID of a destination used for saving the export data.
        callbackDestinationId:
          type: string
          example: 4ce5fad8-4ec6-41ad-a5a0-fbf9b9ebdde0
          description: _Optional_. ID of a destination used to send callback notifications generated by the export job. When not provided no callbacks will be sent.
        rawExport:
          type: boolean
          example: true
        outputFormat:
          type: string
          example: PARQUET
          description: _Optional_. This allows defining the export data format(PARQUET or JSON) defaults to JSON.
        outputSuffix:
          type: string
          example: PARQUET
          description: _Optional_. String that will be appended to the File-Name.
        segmentId:
          type: string
          example: '67'
          description: _Optional_. ID of a user segment to be exported. When not provided all users will be exported. Please note that providing a segment will add an additional filtering step, which can slow down your export.
        attributes:
          type: object
          properties:
            enabled:
              type: boolean
              example: true
              description: _Optional_. This toggles attribute data export. When not provided takes default value `false` so that attributes will not be exported.
            filter:
              type: object
              required:
              - action
              - names
              properties:
                action:
                  type: string
                  enum:
                  - INCLUDE
                  - EXCLUDE
                  description: _Required_. Action to be done using the names array. Required when using the `filter` object.
                names:
                  type: array
                  items: {}
                  description: _Required_. User attribute names that will be used together with the action for the export.
              description: _Optional_. The `filter` object allows you to include or exclude certain attributes from the export. When not provided, all user attribute data will be exported.
          description: _Required_. Export settings for user attributes. Can not be used in conjuction with the `events` object.
        events:
          type: object
          properties:
            enabled:
              type: boolean
              description: _Optional_. When not provided takes default value `false` as events will not be exported with the raw user export.
          description: _Required_. Export settings for event data. Can be used in conjunction with the `attributes` object.
  securitySchemes:
    XngAuthToken:
      type: apiKey
      name: X-XNG-AuthToken
      in: header
      description: CrossEngage header authentication. The API key is issued in the CrossEngage app under Settings -> System setup -> API keys (Master API key or Public API key depending on the API).
x-apievangelist:
  generated: '2026-08-13'
  method: derived
  source: blueprint/crossenagage-raw-export-v1.apib
  note: Mechanically converted from the API Blueprint CrossEngage publishes at https://userseventsexportapiv1.docs.apiary.io/api-description-document using apib2swagger. Verbatim blueprint retained at blueprint/. API Evangelist normalized operationIds to camelCase, declared the documented X-XNG-AuthToken header auth as a securityDefinition, and added the documented X-XNG-ApiVersion header parameter. No operations, paths, schemas or examples were invented.