Mixpanel Pipelines API

Create and manage data export pipelines

OpenAPI Specification

mixpanel-pipelines-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Mixpanel Annotations Pipelines API
  description: API for creating, retrieving, updating, and deleting annotations that label specific points in time on Mixpanel charts with descriptions, useful for marking product launches, campaigns, or data anomalies.
  version: '1.0'
  contact:
    name: Mixpanel Support
    email: support@mixpanel.com
    url: https://mixpanel.com/get-support
  termsOfService: https://mixpanel.com/legal/terms-of-use
servers:
- url: https://mixpanel.com/api/app
  description: Mixpanel US Data Residency
- url: https://eu.mixpanel.com/api/app
  description: Mixpanel EU Data Residency
security:
- basicAuth: []
tags:
- name: Pipelines
  description: Create and manage data export pipelines
paths:
  /nessie/pipeline/list:
    get:
      operationId: listPipelines
      summary: Mixpanel List pipelines
      description: Retrieve a list of all data export pipelines configured for the project.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/projectId'
      responses:
        '200':
          description: List of pipelines
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Pipeline'
                  status:
                    type: string
        '401':
          description: Unauthorized
        '403':
          description: Forbidden - insufficient permissions
  /nessie/pipeline/create:
    post:
      operationId: createPipeline
      summary: Mixpanel Create a pipeline
      description: Create a new data export pipeline to continuously export Mixpanel data to a cloud storage destination such as BigQuery, Snowflake, S3, or GCS.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePipelineRequest'
      responses:
        '200':
          description: Pipeline created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
        '400':
          description: Invalid pipeline configuration
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
  /nessie/pipeline/update:
    post:
      operationId: updatePipeline
      summary: Mixpanel Update a pipeline
      description: Update the configuration of an existing data export pipeline.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePipelineRequest'
      responses:
        '200':
          description: Pipeline updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: Pipeline not found
  /nessie/pipeline/delete:
    post:
      operationId: deletePipeline
      summary: Mixpanel Delete a pipeline
      description: Delete a data export pipeline by ID.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: Pipeline ID to delete
      responses:
        '200':
          description: Pipeline deleted
        '401':
          description: Unauthorized
        '404':
          description: Pipeline not found
  /nessie/pipeline/pause:
    post:
      operationId: pausePipeline
      summary: Mixpanel Pause a pipeline
      description: Pause an active data export pipeline.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: Pipeline ID to pause
      responses:
        '200':
          description: Pipeline paused
        '401':
          description: Unauthorized
        '404':
          description: Pipeline not found
  /nessie/pipeline/unpause:
    post:
      operationId: unpausePipeline
      summary: Mixpanel Resume a pipeline
      description: Resume a previously paused data export pipeline.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/projectId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - id
              properties:
                id:
                  type: string
                  description: Pipeline ID to resume
      responses:
        '200':
          description: Pipeline resumed
        '401':
          description: Unauthorized
        '404':
          description: Pipeline not found
components:
  schemas:
    Pipeline:
      type: object
      properties:
        id:
          type: string
          description: Unique pipeline identifier
        name:
          type: string
          description: Pipeline name
        type:
          type: string
          enum:
          - bigquery
          - snowflake
          - s3
          - gcs
          - azure-blob
          description: Destination type
        status:
          type: string
          enum:
          - active
          - paused
          - error
          description: Current pipeline status
        fromDate:
          type: string
          format: date
          description: Start date for data export
        dataTypes:
          type: array
          items:
            type: string
            enum:
            - event
            - people
            - group
          description: Types of data to export
        createdAt:
          type: string
          format: date-time
          description: When the pipeline was created
        lastRunAt:
          type: string
          format: date-time
          description: When the pipeline last ran
        schemaType:
          type: string
          enum:
          - monoschema
          - multischema
          description: Schema type for the export
        frequency:
          type: string
          enum:
          - hourly
          - daily
          description: How often the pipeline runs
    S3Config:
      type: object
      properties:
        bucket:
          type: string
          description: S3 bucket name
        prefix:
          type: string
          description: S3 key prefix for exported files
        region:
          type: string
          description: AWS region
        roleArn:
          type: string
          description: AWS IAM role ARN for cross-account access
    UpdatePipelineRequest:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: Pipeline ID to update
        name:
          type: string
          description: Updated pipeline name
        dataTypes:
          type: array
          items:
            type: string
          description: Updated data types to export
        frequency:
          type: string
          enum:
          - hourly
          - daily
          description: Updated export frequency
    CreatePipelineRequest:
      type: object
      required:
      - name
      - type
      - fromDate
      - dataTypes
      properties:
        name:
          type: string
          description: Pipeline name
        type:
          type: string
          enum:
          - bigquery
          - snowflake
          - s3
          - gcs
          - azure-blob
          description: Destination type
        fromDate:
          type: string
          format: date
          description: Start date for data export
        dataTypes:
          type: array
          items:
            type: string
            enum:
            - event
            - people
            - group
          description: Types of data to export
        schemaType:
          type: string
          enum:
          - monoschema
          - multischema
          description: Schema type for the export
        frequency:
          type: string
          enum:
          - hourly
          - daily
          description: Export frequency
        bigqueryConfig:
          $ref: '#/components/schemas/BigQueryConfig'
        snowflakeConfig:
          $ref: '#/components/schemas/SnowflakeConfig'
        s3Config:
          $ref: '#/components/schemas/S3Config'
        gcsConfig:
          $ref: '#/components/schemas/GCSConfig'
    GCSConfig:
      type: object
      properties:
        bucket:
          type: string
          description: GCS bucket name
        prefix:
          type: string
          description: GCS path prefix
        serviceAccountKey:
          type: string
          description: Base64-encoded service account JSON key
    BigQueryConfig:
      type: object
      properties:
        projectId:
          type: string
          description: Google Cloud project ID
        dataset:
          type: string
          description: BigQuery dataset name
        serviceAccountKey:
          type: string
          description: Base64-encoded service account JSON key
    SnowflakeConfig:
      type: object
      properties:
        account:
          type: string
          description: Snowflake account identifier
        warehouse:
          type: string
          description: Snowflake warehouse name
        database:
          type: string
          description: Snowflake database name
        schema:
          type: string
          description: Snowflake schema name
        username:
          type: string
          description: Snowflake username
        password:
          type: string
          description: Snowflake password
  parameters:
    projectId:
      name: project_id
      in: query
      required: true
      schema:
        type: integer
      description: The Mixpanel project ID
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: Service account credentials for API authentication.
externalDocs:
  description: Mixpanel Annotations API Documentation
  url: https://developer.mixpanel.com/reference/create-annotation