# Mixpanel Dev Docs Documentation ## API Reference - [Create Annotation Tag](https://developer.mixpanel.com/reference/create-annotation-tag-1.md): Creates a new tag using the provided name. Requires a role of at least Analyst - [Create Annotations](https://developer.mixpanel.com/reference/create-annotation.md): Create an Annotation. Requires a role of at least Analyst. - [Delete Annotation](https://developer.mixpanel.com/reference/delete-annotation-1.md): Delete an Annotation. Requires a role of at least Analyst. - [Get Annotation Tags](https://developer.mixpanel.com/reference/get-annotation-tags-1.md): Get all tags that have been added to at least one annotation. Requires a role of at least Analyst - [Patch Annotation](https://developer.mixpanel.com/reference/patch-annotation-1.md): Patch an Annotation. Requires a role of at least Analyst. - [Get Annotation](https://developer.mixpanel.com/reference/get-annotation-1.md): Get an Annotation - [List Annotations](https://developer.mixpanel.com/reference/list-all-annotations-for-project.md): List all annotations in a project. - [Authentication](https://developer.mixpanel.com/reference/authentication-2.md) - [Create Pipeline](https://developer.mixpanel.com/reference/create-warehouse-pipeline.md) - [Delete Pipeline](https://developer.mixpanel.com/reference/cancel-warehouse-pipeline.md): For a given pipeline name, this request deletes the pipeline and stops any future jobs to be scheduled for the pipeline. Deleting the pipeline will result in the loss of all its historical data. If you wish to retain the history, it is recommended to pause the pipeline instead. - [Edit Pipeline](https://developer.mixpanel.com/reference/edit-warehouse-pipeline.md): This request edit the params for an export pipeline. - [Overview](https://developer.mixpanel.com/reference/overview-2.md) - [Pause Pipeline](https://developer.mixpanel.com/reference/pause-warehouse-pipeline.md): For a given pipeline name, this request pauses the pipeline which stops the ongoing jobs and prevents any future jobs to be scheduled for the pipeline - [Resume Pipeline](https://developer.mixpanel.com/reference/resume-warehouse-pipeline.md): For a given pipeline name, this request resumes the pipeline if it's paused - [Get Pipeline](https://developer.mixpanel.com/reference/get-warehouse-pipeline-status.md) - [List Pipelines](https://developer.mixpanel.com/reference/list-warehouse-pipeline-jobs.md): This API endpoint returns the list of all the pipelines scheduled for a project. - [List Pipeline Logs](https://developer.mixpanel.com/reference/list-warehouse-pipeline-sync-dates.md): This endpoint returns the timestamps of all syncs grouped by date. - [Download Data](https://developer.mixpanel.com/reference/raw-event-export.md): Every data point sent to Mixpanel is stored as JSON in our data store. The raw export API allows you to download your event data as it is received and stored within Mixpanel, complete with all event properties (including distinct_id) and the exact timestamp the event was fired. The raw export API has a rate limit of 60 queries per hour, 3 queries per second, and a maximum of 100 concurrent queries. If you exceed the rate limit, a 429 error will be returned. - [Authentication](https://developer.mixpanel.com/reference/raw-data-export-api-authentication.md) - [Archive Experiment](https://developer.mixpanel.com/reference/archive-experiment.md) - [Decide Experiment](https://developer.mixpanel.com/reference/decide-experiment.md) - [Force Conclude Experiment](https://developer.mixpanel.com/reference/force-conclude-experiment.md) - [Launch Experiment](https://developer.mixpanel.com/reference/launch-experiment.md) - [Unarchive Experiment](https://developer.mixpanel.com/reference/unarchive-experiment.md) - [Create Experiment](https://developer.mixpanel.com/reference/create-experiment.md) - [Delete Experiment](https://developer.mixpanel.com/reference/delete-experiment.md) - [Get Experiment](https://developer.mixpanel.com/reference/get-experiment.md) - [List Experiments](https://developer.mixpanel.com/reference/list-experiments.md) - [Update Experiment](https://developer.mixpanel.com/reference/update-experiment.md) - [Overview](https://developer.mixpanel.com/reference/feature-flags-api.md) - [Get Feature Flag Definitions](https://developer.mixpanel.com/reference/get-flag-definitions-3.md): Retrieve all enabled feature flag definitions for the authenticated project. Returns complete flag metadata including rulesets, variants, and rollout configurations. - [Get Flag Definitions](https://developer.mixpanel.com/reference/get-flag-definitions.md): This endpoint returns the flag definitions for all enabled feature flags within a Mixpanel project. - [Evaluate Feature Flags (GET)](https://developer.mixpanel.com/reference/get-variant-assignments-3.md): Evaluate all enabled feature flags for a user with the provided context. Returns selected variants for flags the user is eligible for. - [Get Variant Assignments](https://developer.mixpanel.com/reference/get-variant-assignments.md): This endpoint returns the variant assignments for enabled flags within a Mixpanel project - [Overview](https://developer.mixpanel.com/reference/feature-flags-management-api.md) - [Create Feature Flag](https://developer.mixpanel.com/reference/create-feature-flag-1.md) - [Delete Feature Flag](https://developer.mixpanel.com/reference/delete-feature-flag-1.md) - [Get Feature Flag](https://developer.mixpanel.com/reference/get-feature-flag-1.md) - [List Feature Flags](https://developer.mixpanel.com/reference/list-feature-flags-1.md) - [Update Feature Flag](https://developer.mixpanel.com/reference/update-feature-flag-1.md) - [Cancel a Deletion](https://developer.mixpanel.com/reference/delete-deletion.md): Cancel a deletion task that is still in progress - [Check Status of Deletion](https://developer.mixpanel.com/reference/get-deletion.md): Checks the status of an existing deletion task - [Check Status of Retrieval](https://developer.mixpanel.com/reference/get-retrieval.md): Checks the status of a data retrieval job - [Create a Deletion](https://developer.mixpanel.com/reference/create-deletion.md): Creates a task that specifies a list of users in a project to delete - [Create a Retrieval](https://developer.mixpanel.com/reference/create-retrieval-1.md): Creates a data retrieval job. - [Overview](https://developer.mixpanel.com/reference/gdpr-api.md) - [Create Identity](https://developer.mixpanel.com/reference/create-identity.md) - [Create Alias](https://developer.mixpanel.com/reference/identity-create-alias.md) - [Merge Identities](https://developer.mixpanel.com/reference/identity-merge.md) - [Event Deduplication](https://developer.mixpanel.com/reference/event-deduplication.md) - [Track Events](https://developer.mixpanel.com/reference/track-event.md) - [Delete Group](https://developer.mixpanel.com/reference/delete-group.md): Deletes a group profile from Mixpanel. - [Batch Update Group Profiles](https://developer.mixpanel.com/reference/group-batch-update.md): Send a batch of group profile updates. Instead of sending a single JSON object as the data query parameter, send a JSON list of objects as the data parameter of an application/x-www-form-urlencoded POST or GET request body. Refer to the respective group profile update commands ($set, $set_once, $add, $union, $remove, $unset, and $delete) on syntax for their parameters. - [Delete Property](https://developer.mixpanel.com/reference/group-delete-property.md): Unsets specific properties on the group profile. - [Remove from List Property](https://developer.mixpanel.com/reference/group-remove-from-list-property.md): Removes a specific value in a list property. - [Set Property Once](https://developer.mixpanel.com/reference/group-set-property-once.md): Adds properties to a group only if the property is not already set. The profile is created if it does not exist. - [Update Property](https://developer.mixpanel.com/reference/group-set-property.md): Updates or adds properties to a group profile. The profile is created if it does not exist. - [Union To List Property](https://developer.mixpanel.com/reference/group-union.md): Adds the specified values to a list property on a group profile and ensures that those values only appear once. The profile is created if it does not exist. - [Limits](https://developer.mixpanel.com/reference/limits-1.md) - [Import Events](https://developer.mixpanel.com/reference/import-events.md) - [Authentication](https://developer.mixpanel.com/reference/ingestion-api-authentication.md) - [Lookup Tables](https://developer.mixpanel.com/reference/lookup-tables.md) - [List Lookup Tables](https://developer.mixpanel.com/reference/list-lookup-tables.md): Get a list of Lookup Tables defined in the project. - [Replace a Lookup Table](https://developer.mixpanel.com/reference/replace-lookup-table.md) - [Delete Profile](https://developer.mixpanel.com/reference/delete-profile.md): Permanently delete the profile from Mixpanel, along with all of its properties. The $delete object value is ignored - the profile is determined by the $distinct_id from the request itself. If you have duplicate profiles, use property $ignore_alias set to true so that you don't delete the original profile when trying to delete the duplicate (as they pass in the alias as the distinct_id). - [Append to List Property](https://developer.mixpanel.com/reference/profile-append-to-list-property.md): Takes a JSON object containing keys and values, and appends each to a list associated with the corresponding property name. Appending to a property that doesn't exist will result in assigning a list with one element to that property. - [Update Multiple Profiles](https://developer.mixpanel.com/reference/profile-batch-update.md): Send a batch of profile updates. Instead of sending a single JSON object as the data query parameter, send a JSON list of objects as the data parameter of an application/json POST or GET request body. Refer to the respective user profile update commands ($set, $set_once, $add, $union, $append, $remove, $unset, and $delete) on syntax for their parameters. - [Delete Property](https://developer.mixpanel.com/reference/profile-delete-property.md): Takes a JSON list of string property names, and permanently removes the properties and their values from a profile. - [Increment Numerical Property](https://developer.mixpanel.com/reference/profile-numerical-add.md): Takes a JSON object containing keys and numerical values. $add will increment the value of a user profile property. When processed, the property values are added to the existing values of the properties on the profile. If the property is not present on the profile, the value will be added to 0. It is possible to decrement by calling "$add" with negative values. This is useful for maintaining the values of properties like "Number of Logins" or "Files Uploaded". - [Remove from List Property](https://developer.mixpanel.com/reference/profile-remove-from-list-property.md): Takes a JSON object containing keys and values. The value in the request is removed from the existing list on the user profile. If it does not exist, no updates are made. - [Set Property Once](https://developer.mixpanel.com/reference/profile-set-property-once.md): Works just like "$set", except it will not overwrite existing property values. This is useful for properties like "First login date". - [Set Property](https://developer.mixpanel.com/reference/profile-set.md): Takes a JSON object containing names and values of profile properties. If the profile does not exist, it creates it with these properties. If it does exist, it sets the properties to these values, overwriting existing values. - [Union To List Property](https://developer.mixpanel.com/reference/user-profile-union.md): Adds the specified values to a list property on a user profile and ensures that those values only appear once. The profile is created if it does not exist. - [Create/Replace One](https://developer.mixpanel.com/reference/upload-schema-by-entity-and-name.md) - [Create/Replace Multiple](https://developer.mixpanel.com/reference/upload-schemas-for-project.md) - [Delete all Schemas](https://developer.mixpanel.com/reference/delete-all-schemas-in-project.md): Delete all schemas in a project - [Delete for Entity and Name](https://developer.mixpanel.com/reference/delete-schema-by-entity-and-name.md): Delete schema for an entity type and entity name - [Delete for Entity](https://developer.mixpanel.com/reference/delete-schemas-for-entity.md): Delete all schemas of a specific entity type - [Authentication](https://developer.mixpanel.com/reference/lexicon-schemas-api-authentication.md) - [Limits](https://developer.mixpanel.com/reference/limits.md) - [List Schemas](https://developer.mixpanel.com/reference/list-all-schemas-for-project.md): List all schemas in a project - [List for Entity and Name](https://developer.mixpanel.com/reference/list-schemas-by-entity-and-name.md): Get the schema for a specific entity type and entity name - [List for Entity](https://developer.mixpanel.com/reference/list-schemas-for-entity.md): Get all schemas for a specific entity type - [Project Token](https://developer.mixpanel.com/reference/project-token.md) - [Request Signature [Deprecated]](https://developer.mixpanel.com/reference/request-signature.md) - [Overview](https://developer.mixpanel.com/reference/overview.md) - [Project Secret [Deprecated]](https://developer.mixpanel.com/reference/project-secret-1.md) - [Rate Limits](https://developer.mixpanel.com/reference/rate-limits.md) - [Segmentation Expressions](https://developer.mixpanel.com/reference/segmentation-expressions.md) - [Profile Event Activity](https://developer.mixpanel.com/reference/activity-stream-query.md) - [List Saved Cohorts](https://developer.mixpanel.com/reference/cohorts-list.md): The list endpoint returns all of the cohorts in a given project. The JSON formatted return contains the cohort name, id, count, description, creation date, and visibility for every cohort in the project. If you're trying to get a list of users in a cohort, you can use the [`/engage` endpoint with the `filter_by_cohort` parameter](ref:engage#engage-query). The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Query Profiles](https://developer.mixpanel.com/reference/engage-query.md) - [Aggregate Event Counts](https://developer.mixpanel.com/reference/list-recent-events.md): Get unique, total, or average data for a set of events over N days, weeks, or months. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Aggregrated Event Property Values](https://developer.mixpanel.com/reference/query-event-properties.md): Get unique, total, or average data for of a single event and property over days, weeks, or months. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Top Event Properties](https://developer.mixpanel.com/reference/query-events-top-properties.md): Get the top property names for an event. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Top Event Property Values](https://developer.mixpanel.com/reference/query-events-top-property-values.md): Get the top values for a property. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Top Events](https://developer.mixpanel.com/reference/query-months-top-event-names.md): Get a list of the most common events over the last 31 days. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Today's Top Events](https://developer.mixpanel.com/reference/query-top-events.md): Get the top events for today, with their counts and the normalized percent change from yesterday. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [List Saved Funnels](https://developer.mixpanel.com/reference/funnels-list-saved.md): Get the names and funnel_ids of your funnels. - [Query Saved Report](https://developer.mixpanel.com/reference/funnels-query.md): Get data for a funnel. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Query Saved Report](https://developer.mixpanel.com/reference/insights-query.md): Get data from your Insights reports. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Custom JQL Query](https://developer.mixpanel.com/reference/query-jql.md) - [Authentication](https://developer.mixpanel.com/reference/query-api-authentication.md) - [Query Frequency Report](https://developer.mixpanel.com/reference/retention-frequency-query.md) - [Query Retention Report](https://developer.mixpanel.com/reference/retention-query.md) - [Numerically Bucket](https://developer.mixpanel.com/reference/segmentation-numeric-query.md): Get data for an event, segmented and filtered by properties, with values placed into numeric buckets. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Numerically Average](https://developer.mixpanel.com/reference/segmentation-query-average.md): Averages an expression for events per unit time. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Query Segmentation Report](https://developer.mixpanel.com/reference/segmentation-query.md): Get data for an event, segmented and filtered by properties. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Numerically Sum](https://developer.mixpanel.com/reference/segmentation-sum-query.md): Sums an expression for events per unit time. The Query API has a rate limit of 60 queries per hour and a maximum of 5 concurrent queries. - [Create Service Account](https://developer.mixpanel.com/reference/create-service-account.md): Create a new service account for your organization and optionally add it to one or more projects in your organization - [Delete Service Account](https://developer.mixpanel.com/reference/delete-service-account.md): Removes the service account from all associated projects and deletes it from the organization - [Add Service Accounts To Projects](https://developer.mixpanel.com/reference/add-service-accounts-to-projects.md): Adds a list of service account ids to a list of project ids with the specified role - [List Service Accounts For Project](https://developer.mixpanel.com/reference/list-project-service-accounts.md): Retrieve a list of service accounts that are members of the specified project - [Remove Service Accounts From Projects](https://developer.mixpanel.com/reference/remove-service-accounts-from-projects.md): Removes a list of service account ids from a list of project ids - [Get Service Account](https://developer.mixpanel.com/reference/get-service-account.md): Return service account details by id - [List Service Accounts](https://developer.mixpanel.com/reference/list-service-accounts.md): Return a list of all service accounts for your organization - [Authentication](https://developer.mixpanel.com/reference/warehouse-connectors-api-authentication.md) - [Overview](https://developer.mixpanel.com/reference/warehouse-connectors-api.md) - [Create an event stream import](https://developer.mixpanel.com/reference/create-event-stream-import.md): Create a new warehouse import for event data. Event stream imports sync event data from your warehouse table to Mixpanel. Each row in your table becomes an event in Mixpanel. ## Sync Modes - **time_based**: Incrementally syncs new rows based on an insert time column - **mirror_mode**: Detects changes in the source table and mirrors them to Mixpanel - **full_sync**: Re-syncs all data on each run - **one_time**: Syncs data once and does not repeat ## Required Column Mappings You must specify either: - `event_name`: A static event name for all rows - `event_column_name`: The column containing the event name For B2B projects, `company_column_name` is also required. ## Scheduling - **run_every** (integer): Sync frequency in nanoseconds. Allowed values: - Trigger via API: `0` - Hourly: `3600000000000` (60 * 60 * 10^9) - Daily: `86400000000000` (24 * 60 * 60 * 10^9) - Weekly: `604800000000000` (7 * 24 * 60 * 60 * 10^9) - **databricks_params** (object): Databricks-specific cluster configuration (only for Databricks sources) - [Create a groups import](https://developer.mixpanel.com/reference/create-groups-import.md): Create a new warehouse import for group profile data. Groups imports sync group properties from your warehouse to Mixpanel group profiles. - [Create a lookup table import](https://developer.mixpanel.com/reference/create-lookup-table-import.md): Create a new warehouse import for lookup table data. Lookup tables allow you to enrich event and user properties with additional attributes from your warehouse. - [Create a people (user profiles) import](https://developer.mixpanel.com/reference/create-people-import.md): Create a new warehouse import for user profile data. People imports sync user properties from your warehouse to Mixpanel user profiles. Each row represents a user, identified by the `user_column_name`. - [Delete a warehouse import](https://developer.mixpanel.com/reference/delete-warehouse-import.md): Deletes a warehouse import and optionally deletes the imported data. When `delete_data: true` is specified, an event deletion request will be created to remove the imported events from Mixpanel. - [Get import job history](https://developer.mixpanel.com/reference/get-import-history.md): Returns the execution history for a warehouse import. Returns 30 most recent events. - [Get a specific warehouse import](https://developer.mixpanel.com/reference/get-warehouse-import.md): Retrieves detailed information about a specific warehouse import by ID. Returns the full configuration of the import including table parameters, column mappings, and sync settings. - [List all warehouse imports](https://developer.mixpanel.com/reference/list-warehouse-imports.md): Returns a list of all warehouse imports configured for the project. Each import includes metadata about the import configuration, sync status, and job scheduling information. - [Run an import](https://developer.mixpanel.com/reference/run-an-import-1.md): Triggers an immediate sync for a given warehouse import. - [Update a warehouse import](https://developer.mixpanel.com/reference/update-warehouse-import.md): Update an existing warehouse import's settings. ## Patchable Fields The following fields can be modified: - **paused** (boolean, required): Pause or resume the import sync - **run_every** (integer): Sync frequency in nanoseconds. Must be one of the following values: - `0`: API-triggered only (no scheduled sync) - `3600000000000`: Hourly - `86400000000000`: Daily - `604800000000000`: Weekly - **databricks_params** (object): Databricks-specific cluster configuration (only for Databricks sources). Note: this is a full replacement, not a partial merge. Always provide the complete desired cluster configuration. ## Pause/Resume Behavior - When `paused: true`, the import job will be stopped and no new syncs will be triggered - When `paused: false`, the import job will be resumed with the specified frequency - When resuming, you can optionally update `run_every` ## Databricks Configuration For Databricks Jobs compute imports, you can update cluster configurations: - `export_cluster_config`: Configuration for the data export job cluster ## Pages - [MP 404](https://developer.mixpanel.com/mp-404.md)