Each request ingests a batch of events into Mixpanel. We accept up to 2000 events and 10MB uncompressed per request. Events are part of the request body.We support Content-Type application/json or application/x-ndjson:
/import requires an Owner or Admin Service Account. project_id, service account username, and service account password are required to authenticate a request./import also supports Project Token as an authentication method. You can provide your token as the basic auth username value with an empty password. If project_id is not specified, the request will be authenticated using the provided token.
If you provide the strict=1 parameter (recommended), /import will validate the supplied events and return a 400 status code if any of the events fail validation with details of the error. If some events pass validation and others fail, Mixpanel will ingest the events that pass validation. When you encounter a 400 error in production, simply log the JSON response, as it will contain the $insert_ids of the invalid events, which can be used to debug.
Each event must contain an event name, time, distinct_id, and $insert_id. These are used to deduplicate events so that this endpoint can be safely retried.
Each event must be smaller than 1MB of uncompressed JSON. Larger events are rejected with a 400 error.
Each event must have fewer than 255 properties.
All nested object properties must have fewer than 255 keys and a max nesting depth is 3.
All array properties must have fewer than 255 elements.
This is the name of the event. If you’re loading data from a data warehouse, we recommend using the name of the table as the name of the event.We recommend keeping the number of unique event names relatively small and using properties for any variable context attached to the event. For example, instead of tracking events with names “Paid Signup” and “Free Signup”, we would recommend tracking an event called “Signup” and having a property “Account Type” with the value “paid” or “free”.
This is a JSON object representing all the properties about the event. If you’re loading data from a data warehouse, we recommend using column names as the names of properties.
properties.time
The time at which the event occurred. We require a value for time. Mixpanel accepts either format below and stores event times with millisecond precision; anything finer than a millisecond is cut off.
Format
Examples
Notes
Unix epoch, in seconds or milliseconds (integer or float)
1788422480, 1788422480.137, 1788422480137
Seconds vs. milliseconds is detected automatically.
Fractional seconds (e.g. .341) are kept to the millisecond. A trailing Z or an explicit offset is honored and converted to UTC; a string with no offset is treated as UTC.
You don’t need epoch time to send milliseconds, and you don’t need to remove a trailing Z.We will reject events with time values that are before 1971-01-01 or more than 1 hour in the future as measured on our servers.If the time value is set in the future, it will be overwritten with the current present time at ingestion.
properties.distinct_id
distinct_id identifies the user who performed the event. distinct_id must be specified on every event, as it is crucial for Mixpanel to perform behavioral analysis (unique users, funnels, retention, cohorts) correctly and efficiently.If the event is not associated with any user, set distinct_id to the empty string. Events with an empty distinct_id will be excluded from all behavioral analysis.If no distinct_id is provided, Mixpanel will use the ip address of the incoming request and compute a distinct_id using a hash function.To prevent accidental implementation mistakes, we disallow the following values for distinct_id:
We require that $insert_id be specified on every event. $insert_id provides a unique identifier for the event, which we use for deduplication. Events with identical values for (event, time, distinct_id, $insert_id) are considered duplicates and only one of them will be surfaced in queries.$insert_ids must be ≤ 36 bytes and contain only alphanumeric characters or ”-”. We also disallow any value for $insert_id from the list of invalid IDs provided for distinct_id above.
{ "code": 400, "error": "some data points in the request failed validation", "failed_records": [ { "index": 0, "$insert_id": "8a66058c-a56d-4ef6-8123-28b7c9f7e82f", "field": "properties.time", "message": "properties.time' is invalid: must be specified as seconds since epoch" }, { "index": 3, "$insert_id": "29fc2962-6d9c-455d-95ad-95b84f09b9e4", "field": "properties.utm_source", "message": "properties.utm_source is invalid: string should be valid utf8" }, ], "num_records_imported": 23, "status": "Bad Request"}
When any single event in the batch does not pass validation, we return a 400 status code and a response that looks like the above.failed_records includes one row for each of the failed events, with details about the error we found. If some of the rows passed validation, we will ingest them and return their count in num_records_imported.
If you supply a property ip with an IP address, Mixpanel will automatically do a GeoIP lookup and replace the ip property with geographic properties (City, Country, Region). These properties can be used in our UI to segment events geographically.If you do not supply an ip property in your event payload, the IP address of the request will be used to parse for geolocation. You can set manually set the value of ip to 0 and our API will skip the geolocation parsing for that event.This is an example of an event before and after enrichment:
To ensure real-time ingestion and quality-of-service, we have a rate limit of 2GB of uncompressed JSON/minute or ~30k events per second, measured on a rolling 1 minute basis.We recommend the following when it comes to sending data to our API at scale:
Send data as quickly as possible with concurrent clients until the server returns 429. We see the best results with 10-20 concurrent clients sending 2K events per batch.
When you see 429s, employ an exponential backoff with jitter strategy. We recommend starting with a backoff of 2s and doubling backoff until 60s, with 1-5s of jitter.
We recommend gzip compression and using Content-Encoding: gzip to reduce network egress and transfer time.
In the rare event that our API returns a 502 or 503 status code, we recommend employing the same exponential backoff strategy as with 429s.
Please do not retry validation errors (400 status code), as they will consistently fail and count toward the rate limit.
If you are an enterprise customer and require a higher limit for a 1-time backfill, please reach out to your sales representative with your project_id and use-case.
$insert_id is required on all events. This makes it safe to retry /import requests. If your events don’t already have a unique ID (eg: a UUID/GUID), we recommend computing a hash of some set of properties that make the event semantically unique (eg: distinct_id + timestamp + some other property) and using the first 36 characters of that hash as the $insert_id.We truncate all strings down to 255 characters. Here’s what we recommend for the various cases in which this typically happens:
URLs: We recommend parsing the URL and tracking its individual components (host, path, url params) as properties. This is more useful in analysis, as you can segment events by hostname or a particular URL parameter.
JSON encoded strings: Sometimes a long string may be a JSON object encoded as a string. We recommend parsing the JSON and flattening it into properties to send with the event. This is similarly much more useful in analysis, as you can filter or breakdown by any key within the JSON.
Free text / user generated content: Some long fields may include full-text (eg: a search term or a comment). If this property isn’t useful for analysis, we recommend excluding it from tracking to Mixpanel to avoid accidentally sending over any PII.
{
"code": 413,
"error": "request exceeds max limit of 10485760 bytes",
"status": "Request Entity Too Large"
}
{
"code": 429,
"error": "Project exceeded rate limits. Please retry the request with exponential backoff.",
"status": "Too Many Requests"
}
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Mixpanel","colors":{"primary":"#7856ff","light":"#7856ff","dark":"#1b0b3a"},"logo":{"light":"https://mintcdn.com/mixpanel-edb78807/DbK2t9axJQF3qO_F/logo/light.svg?fit=max\u0026auto=format\u0026n=DbK2t9axJQF3qO_F\u0026q=85\u0026s=6197d81a55ffdba599db8650555eb912","dark":"https://mintcdn.com/mixpanel-edb78807/DbK2t9axJQF3qO_F/logo/dark.svg?fit=max\u0026auto=format\u0026n=DbK2t9axJQF3qO_F\u0026q=85\u0026s=84d73a51982dfb741e7b218aa5800da1","href":"https://mixpanel.com/home/"},"favicon":"https://mintcdn.com/mixpanel-edb78807/GuD3mcBg6zjCWsvh/favicon.png?fit=max\u0026auto=format\u0026n=GuD3mcBg6zjCWsvh\u0026q=85\u0026s=62e7fd3264b57e48f4366724ac591cc3","appearance":{"default":"light"},"background":{"color":{"dark":"#242133"}},"navbar":{"links":[{"href":"https://mixpanel.com/login","label":"Login"},{"href":"https://mixpanel.com/contact-us/sales","label":"Contact Sales"}],"primary":{"type":"button","label":"Get Started Free","href":"https://mixpanel.com/register"}},"footer":{"socials":{"x":"https://x.com/mixpanel","github":"https://github.com/mixpanel","linkedin":"https://www.linkedin.com/company/mixpanel-inc-"}},"seo":{"metatags":{"canonical":"https://docs.mixpanel.com"}},"fonts":{"heading":{"family":"Garnett Medium","source":"https://cdn.mxpnl.com/static/marketing/fonts/garnett/garnett-medium.woff2","format":"woff2"},"body":{"family":"Garnett","source":"https://cdn.mxpnl.com/static/marketing/fonts/garnett/garnett-regular.woff2","format":"woff2"}},"styling":{"codeblocks":"system","latex":true},"integrations":{"gtm":{"tagId":"GTM-MRDR9SP"},"mixpanel":{"projectToken":"metrics-1"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","grok","mcp","cursor","vscode"],"display":"header"},"navigation":{"global":{"anchors":[{"anchor":"About Us","icon":"circle-question","href":"https://mixpanel.com/about"},{"anchor":"Community","icon":"users","href":"https://community.mixpanel.com/"},{"anchor":"Blog","icon":"newspaper","href":"https://mixpanel.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mixpanel-edb78807","hasAudioNarration":false,"actualSubdomain":"mixpanel-edb78807","customDomains":["docs.mixpanel.com"],"gitSource":{"type":"github","owner":"mixpanel","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"contextualFeedback":{"allowEmail":false},"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3b57c4c06ccda963787a7","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Docs","count":224},{"language":"default","tag":"API Docs","count":163},{"language":"default","tag":"DATA IN","count":89},{"language":"default","tag":"Tracking Methods","count":62},{"language":"default","tag":"DATA OUT","count":51},{"language":"default","tag":"Guides","count":49},{"language":"default","tag":"ANALYSIS","count":37},{"language":"default","tag":"Integrations","count":37},{"language":"default","tag":"SDKs","count":29},{"language":"default","tag":"ADMIN","count":28}],"searchSettings":{"maxResults":20}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@mixpanel.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"starterQuestions":[{"_id":"69b359f377281040f2f1a46e","deploymentId":"69b350f33e949c7a5a4dbb8c","questionText":"What value can I get from using Mixpanel?","status":"active","generatedBy":"manual","createdAt":"2026-03-13T00:27:31.956Z","updatedAt":"2026-03-13T00:27:31.956Z","__v":0},{"_id":"69b359e977281040f2f1a41d","deploymentId":"69b350f33e949c7a5a4dbb8c","questionText":"How do I send my first event?","status":"active","generatedBy":"manual","createdAt":"2026-03-13T00:27:21.832Z","updatedAt":"2026-03-13T00:27:21.832Z","__v":0},{"_id":"69b359e277281040f2f1a3f7","deploymentId":"69b350f33e949c7a5a4dbb8c","questionText":"What events should I track?","status":"active","generatedBy":"manual","createdAt":"2026-03-13T00:27:14.345Z","updatedAt":"2026-03-13T00:27:14.345Z","__v":0}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".dark li[id=\"topbar-cta-button\"]>a>span{background-color:#8363fe!important}h5,h6{font-weight:bold}.create-service-account{display:flex;margin:18px 0}.create-service-account img{width:80%}@media (max-width: 1400px){.create-service-account img{width:100%}}.mixpanel-custom-two-column{display:flex;margin:18px 0}.mixpanel-custom-two-column div{width:100%;margin:15px 0}.mixpanel-custom-two-column .image-container{display:flex}.mixpanel-custom-two-column .image-container img{height:300px}#navbar>div.z-0.absolute.inset-0.bg-background-light.dark\\:bg-background-dark,#navbar>div.z-10.relative>div.hidden.lg\\:block.bg-gray-50.dark\\:bg-gray-900{background-color:#f5f2f2!important}.dark #navbar>div.z-0.absolute.inset-0.bg-background-light.dark\\:bg-background-dark,.dark #navbar>div.z-10.relative>div.hidden.lg\\:block.bg-gray-50.dark\\:bg-gray-900{background-color:#2b273f!important}ul.contains-task-list,ul.contains-task-list>li.task-list-item{padding-left:0!important}ul.contains-task-list>li.task-list-item:before{width:0;height:0}.dark #content{color:#e2e1e6}.mxp-cookie-preferences-link{display:inline-block;margin-left:1rem;font-size:0.875rem;color:inherit;opacity:0.7;text-decoration:none}.mxp-cookie-preferences-link:hover{opacity:1}.mxp-subscribe-button{background-image:linear-gradient(to top, #7856ff, #9075ff);box-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05)}.mxp-subscribe-button:disabled{opacity:0.5;cursor:not-allowed}.mxp-subscribe-dialog{margin:auto}.mxp-subscribe-dialog::backdrop{background-color:rgb(0 0 0 / 0.8)}.mxp-subscribe-modal{background-color:#fbf9f9}.dark .mxp-subscribe-modal{background-color:#201f24}.mxp-subscribe-error{color:#cc332b}.mxp-extended-button{padding-top:0.625rem;padding-bottom:0.625rem;background-image:linear-gradient(to bottom, #9b7eff, #7856ff)}.mxp-extended-button:hover{box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)}.mxp-extended-button:active{background-image:linear-gradient(to bottom, #9b7eff, #5028c0)}"}],"page":{"pagePath":"reference/import-events","slug":"/reference/import-events","pageMetadata":{"title":"Import Events","openapi":"openapi/ingestion.openapi.yaml POST /import","description":"Use this API to send batches of events from your servers to Mixpanel","href":"/reference/import-events"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Use this API to send batches of events from your servers to Mixpanel\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,h5:`h5`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this API to send batches of events from your servers to Mixpanel.`}),`\n`,_jsx(Heading,{level:`2`,id:`request-format`,children:`Request Format`}),`\n`,_jsx(_components.p,{children:`Each request ingests a batch of events into Mixpanel. We accept up to 2000 events and 10MB uncompressed per request. Events are part of the request body.`}),`\n`,_jsxs(_components.p,{children:[`We support Content-Type `,_jsx(_components.code,{children:`application/json`}),` or `,_jsx(_components.code,{children:`application/x-ndjson`}),`:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`JSON`,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"29fc2962-6d9c-455d-95ad-95b84f09b9e4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Referred by\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Friend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mixpanel.com/signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Purchase\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"935d87b1-00cd-41b7-be34-b9d98dd08b42\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Item\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Coffee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5.0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}}`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`ndJSON`,numberOfLines:`2`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"29fc2962-6d9c-455d-95ad-95b84f09b9e4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Referred by\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Friend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mixpanel.com/signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}}`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Purchase\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"935d87b1-00cd-41b7-be34-b9d98dd08b42\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Item\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Coffee\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"Amount\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5.0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}}`})]}),`\n`]})})})]}),`\n`,_jsxs(_components.p,{children:[`We also support `,_jsx(_components.code,{children:`Content-Encoding: gzip`}),` to reduce network egress.`]}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/import`}),` requires an Owner or Admin `,_jsx(_components.a,{href:`/reference/service-accounts`,children:`Service Account`}),`. project_id, service account username, and service account password are required to authenticate a request.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`/import`}),` also supports `,_jsx(_components.a,{href:`/reference/project-token`,children:`Project Token`}),` as an authentication method. You can provide your token as the basic auth username value with an empty password. If project_id is not specified, the request will be authenticated using the provided token.`]}),`\n`,_jsx(Heading,{level:`2`,id:`validation`,children:`Validation`}),`\n`,_jsxs(_components.p,{children:[`If you provide the `,_jsx(_components.code,{children:`strict=1`}),` parameter (recommended), `,_jsx(_components.code,{children:`/import`}),` will validate the supplied events and return a 400 status code if `,_jsx(_components.strong,{children:`any`}),` of the events fail validation with details of the error. If some events pass validation and others fail, Mixpanel will ingest the events that pass validation. When you encounter a 400 error in production, simply log the JSON response, as it will contain the `,_jsx(_components.code,{children:`$insert_id`}),`s of the invalid events, which can be used to debug.`]}),`\n`,_jsx(Heading,{level:`3`,id:`high-level-requirements`,children:`High-level requirements`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Each event must be properly formatted JSON.`}),`\n`,_jsx(_components.li,{children:`Each event must contain an event name, time, distinct_id, and $insert_id. These are used to deduplicate events so that this endpoint can be safely retried.`}),`\n`,_jsx(_components.li,{children:`Each event must be smaller than 1MB of uncompressed JSON. Larger events are rejected with a 400 error.`}),`\n`,_jsx(_components.li,{children:`Each event must have fewer than 255 properties.`}),`\n`,_jsx(_components.li,{children:`All nested object properties must have fewer than 255 keys and a max nesting depth is 3.`}),`\n`,_jsx(_components.li,{children:`All array properties must have fewer than 255 elements.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`example-of-an-event`,children:`Example of an event`}),`\n`,_jsx(CodeBlock,{filename:`JSON`,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Signed up\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"29fc2962-6d9c-455d-95ad-95b84f09b9e4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ip\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"136.24.0.114\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Referred by\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Friend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mixpanel.com/signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`4`,id:`event`,children:`event`}),`\n`,_jsx(_components.p,{children:`This is the name of the event. If you’re loading data from a data warehouse, we recommend using the name of the table as the name of the event.`}),`\n`,_jsx(_components.p,{children:`We recommend keeping the number of unique event names relatively small and using properties for any variable context attached to the event. For example, instead of tracking events with names “Paid Signup” and “Free Signup”, we would recommend tracking an event called “Signup” and having a property “Account Type” with the value “paid” or “free”.`}),`\n`,_jsx(Heading,{level:`4`,id:`properties`,children:`properties`}),`\n`,_jsx(_components.p,{children:`This is a JSON object representing all the properties about the event. If you’re loading data from a data warehouse, we recommend using column names as the names of properties.`}),`\n`,_jsx(_components.h5,{children:`properties.time`}),`\n`,_jsx(_components.p,{children:`The time at which the event occurred. We require a value for time. Mixpanel accepts either format below and stores event times with millisecond precision; anything finer than a millisecond is cut off.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Format`}),_jsx(_components.th,{children:`Examples`}),_jsx(_components.th,{children:`Notes`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Unix epoch, in seconds or milliseconds (integer or float)`}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`1788422480`}),`, `,_jsx(_components.code,{children:`1788422480.137`}),`, `,_jsx(_components.code,{children:`1788422480137`})]}),_jsx(_components.td,{children:`Seconds vs. milliseconds is detected automatically.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`RFC 3339 / ISO 8601 string`}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`\"2026-09-11T01:11:10.341Z\"`}),`, `,_jsx(_components.code,{children:`\"2026-09-11T11:11:10.341+10:00\"`}),`, `,_jsx(_components.code,{children:`\"2026-09-11T01:11:10\"`})]}),_jsxs(_components.td,{children:[`Fractional seconds (e.g. `,_jsx(_components.code,{children:`.341`}),`) are kept to the millisecond. A trailing `,_jsx(_components.code,{children:`Z`}),` or an explicit offset is honored and converted to UTC; a string with no offset is treated as UTC.`]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`You don’t need epoch time to send milliseconds, and you don’t need to remove a trailing `,_jsx(_components.code,{children:`Z`}),`.`]}),`\n`,_jsx(_components.p,{children:`We will reject events with time values that are before 1971-01-01 or more than 1 hour in the future as measured on our servers.`}),`\n`,_jsx(_components.p,{children:`If the time value is set in the future, it will be overwritten with the current present time at ingestion.`}),`\n`,_jsx(_components.h5,{children:`properties.distinct_id`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`distinct_id`}),` identifies the user who performed the event. distinct_id must be specified on every event, as it is crucial for Mixpanel to perform behavioral analysis (unique users, funnels, retention, cohorts) correctly and efficiently.`]}),`\n`,_jsx(_components.p,{children:`If the event is not associated with any user, set distinct_id to the empty string. Events with an empty distinct_id will be excluded from all behavioral analysis.`}),`\n`,_jsx(_components.p,{children:`If no distinct_id is provided, Mixpanel will use the ip address of the incoming request and compute a distinct_id using a hash function.`}),`\n`,_jsx(_components.p,{children:`To prevent accidental implementation mistakes, we disallow the following values for distinct_id:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`18`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`18`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- 00000000-0000-0000-0000-000000000000`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- anon`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- anonymous`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- nil`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- none`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- null`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- n/a`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- na`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- undefined`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- unknown`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- \u003cnil>`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- 0`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- -1`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- true`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- false`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- []`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`- {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.h5,{children:`properties.$insert_id`}),`\n`,_jsx(_components.p,{children:`We require that $insert_id be specified on every event. $insert_id provides a unique identifier for the event, which we use for deduplication. Events with identical values for (event, time, distinct_id, $insert_id) are considered duplicates and only one of them will be surfaced in queries.`}),`\n`,_jsx(_components.p,{children:`$insert_ids must be ≤ 36 bytes and contain only alphanumeric characters or ”-”. We also disallow any value for $insert_id from the list of invalid IDs provided for distinct_id above.`}),`\n`,_jsx(Heading,{level:`3`,id:`example-of-a-validation-error`,children:`Example of a validation error`}),`\n`,_jsx(CodeBlock,{filename:`JSON`,numberOfLines:`20`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`20`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`400`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"error\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"some data points in the request failed validation\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"failed_records\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"8a66058c-a56d-4ef6-8123-28b7c9f7e82f\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"properties.time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"properties.time' is invalid: must be specified as seconds since epoch\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"index\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"29fc2962-6d9c-455d-95ad-95b84f09b9e4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"field\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"properties.utm_source\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"message\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"properties.utm_source is invalid: string should be valid utf8\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"num_records_imported\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`23`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Bad Request\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`When any single event in the batch does not pass validation, we return a 400 status code and a response that looks like the above.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`failed_records`}),` includes one row for each of the failed events, with details about the error we found. If some of the rows passed validation, we will ingest them and return their count in `,_jsx(_components.code,{children:`num_records_imported`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`geoip-enrichment`,children:`GeoIP Enrichment`}),`\n`,_jsxs(_components.p,{children:[`If you supply a property `,_jsx(_components.code,{children:`ip`}),` with an IP address, Mixpanel will automatically do a GeoIP lookup and replace the `,_jsx(_components.code,{children:`ip`}),` property with geographic properties (City, Country, Region). These properties can be used in our UI to segment events geographically.`]}),`\n`,_jsxs(_components.p,{children:[`If you do not supply an `,_jsx(_components.code,{children:`ip`}),` property in your event payload, the IP address of the request will be used to parse for geolocation. You can set manually set the value of `,_jsx(_components.code,{children:`ip`}),` to `,_jsx(_components.code,{children:`0`}),` and our API will skip the geolocation parsing for that event.`]}),`\n`,_jsx(_components.p,{children:`This is an example of an event before and after enrichment:`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Pre-Enrichment`,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Signed up\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"29fc2962-6d9c-455d-95ad-95b84f09b9e4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"ip\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"136.24.0.114\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Referred by\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Friend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mixpanel.com/signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Post-Enrichment`,numberOfLines:`13`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`13`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"event\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Signed up\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"properties\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"time\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1618716477000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"distinct_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"91304156-cafc-4673-a237-623d1129c801\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$insert_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"29fc2962-6d9c-455d-95ad-95b84f09b9e4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"Referred by\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Friend\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"URL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"mixpanel.com/signup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$city\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"San Francisco\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$region\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"California\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"mp_country_code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"US\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`rate-limit`,children:`Rate Limit`}),`\n`,_jsx(_components.p,{children:`To ensure real-time ingestion and quality-of-service, we have a rate limit of 2GB of uncompressed JSON/minute or ~30k events per second, measured on a rolling 1 minute basis.`}),`\n`,_jsx(_components.p,{children:`We recommend the following when it comes to sending data to our API at scale:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Send data as quickly as possible with concurrent clients until the server returns 429. We see the best results with 10-20 concurrent clients sending 2K events per batch.`}),`\n`,_jsxs(_components.li,{children:[`When you see 429s, employ an `,_jsx(_components.a,{href:`https://docs.aws.amazon.com/general/latest/gr/api-retries.html`,children:`exponential backoff with jitter`}),` strategy. We recommend starting with a backoff of 2s and doubling backoff until 60s, with 1-5s of jitter.`]}),`\n`,_jsxs(_components.li,{children:[`We recommend gzip compression and using `,_jsx(_components.code,{children:`Content-Encoding: gzip`}),` to reduce network egress and transfer time.`]}),`\n`,_jsx(_components.li,{children:`In the rare event that our API returns a 502 or 503 status code, we recommend employing the same exponential backoff strategy as with 429s.`}),`\n`,_jsx(_components.li,{children:`Please do not retry validation errors (400 status code), as they will consistently fail and count toward the rate limit.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`If you are an enterprise customer and require a higher limit for a 1-time backfill, please reach out to your sales representative with your project_id and use-case.`}),`\n`,_jsx(Heading,{level:`2`,id:`common-issues`,children:`Common Issues`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`$insert_id`}),` is required on all events. This makes it safe to retry `,_jsx(_components.code,{children:`/import`}),` requests. If your events don’t already have a unique ID (eg: a UUID/GUID), we recommend computing a hash of some set of properties that make the event semantically unique (eg: distinct_id + timestamp + some other property) and using the first 36 characters of that hash as the $insert_id.`]}),`\n`,_jsx(_components.p,{children:`We truncate all strings down to 255 characters. Here’s what we recommend for the various cases in which this typically happens:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`URLs: We recommend parsing the URL and tracking its individual components (host, path, url params) as properties. This is more useful in analysis, as you can segment events by hostname or a particular URL parameter.`}),`\n`,_jsx(_components.li,{children:`JSON encoded strings: Sometimes a long string may be a JSON object encoded as a string. We recommend parsing the JSON and flattening it into properties to send with the event. This is similarly much more useful in analysis, as you can filter or breakdown by any key within the JSON.`}),`\n`,_jsx(_components.li,{children:`Free text / user generated content: Some long fields may include full-text (eg: a search term or a comment). If this property isn’t useful for analysis, we recommend excluding it from tracking to Mixpanel to avoid accidentally sending over any PII.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`guides`,children:`Guides`}),`\n`,_jsxs(_components.p,{children:[`See our Cloud Ingestion guides for example usage of this API to integrate with `,_jsx(_components.a,{href:`/docs/tracking-methods/integrations/google-pubsub`,children:`Google Pub/Sub`}),`, `,_jsx(_components.a,{href:`/docs/tracking-methods/integrations/amazon-s3`,children:`Amazon S3`}),`, or `,_jsx(_components.a,{href:`/docs/tracking-methods/integrations/google-cloud-storage`,children:`Google Cloud Storage`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Import Events","openapi":"openapi/ingestion.openapi.yaml POST /import","description":"Use this API to send batches of events from your servers to Mixpanel","href":"/reference/import-events"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Request Format","slug":"request-format","depth":2,"children":[]},{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Validation","slug":"validation","depth":2,"children":[{"title":"High-level requirements","slug":"high-level-requirements","depth":3,"children":[]},{"title":"Example of an event","slug":"example-of-an-event","depth":3,"children":[]},{"title":"event","slug":"event","depth":4,"children":[]},{"title":"properties","slug":"properties","depth":4,"children":[]},{"title":"Example of a validation error","slug":"example-of-a-validation-error","depth":3,"children":[]}]},{"title":"GeoIP Enrichment","slug":"geoip-enrichment","depth":2,"children":[]},{"title":"Rate Limit","slug":"rate-limit","depth":2,"children":[]},{"title":"Common Issues","slug":"common-issues","depth":2,"children":[]},{"title":"Guides","slug":"guides","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/mixpanel-edb78807/d49abd19d2d5d678/scripts/sentry.js","/_mintlify/custom/mixpanel-edb78807/c8ec676755c57705/scripts/trustarc.js"],"openApiReferenceData":{"operation":{"tags":["Events"],"operationId":"import-events","security":["30ef2746-969d-45df-af56-fe25a84601a3","00d009b6-928d-45e3-958d-5621616cb566"],"summary":"Import Events","description":"Use this API to send batches of events from your servers to Mixpanel","parameters":["2f53e555-3ce0-4a2f-8376-d5ee0d2556ea","723c9b4f-b754-419f-b9d2-aa07117d71ed","46981e57-5b65-4cea-b2a0-5c1a98964f6d","4909f021-d259-4385-b74f-9f15efc8a628"],"requestBody":"fdeee2e5-c533-41bd-b2b3-0fee2da323fe","responses":{"200":"d2012903-2ec3-4477-aa37-7a6a82e8d306","400":"1cf9f195-b176-4372-bffb-ca698413488b","401":"a3180c56-a1b1-4455-8f93-c7fd9e4923fb","413":"6abec97c-8f6e-48d4-9411-880db9f5ef55","429":"ba8d1cb4-1323-4715-a6f4-c46141b9de27"},"method":"post","type":"path","servers":["67135364-a6e6-485d-8106-147dcafd8b45"],"path":"/import","baseUrlOptions":["https://{region}.mixpanel.com"],"title":"Import Events","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"2f53e555-3ce0-4a2f-8376-d5ee0d2556ea":{"in":"query","name":"strict","required":true,"schema":{"type":"string","default":"1","enum":["0","1"],"isRequired":true,"description":"When set to 1 (recommended), Mixpanel will validate the batch and return errors per event that failed.","uniqueKey":"","typeLabel":"enum\u003cstring>"},"description":"When set to 1 (recommended), Mixpanel will validate the batch and return errors per event that failed."},"723c9b4f-b754-419f-b9d2-aa07117d71ed":{"in":"query","name":"project_id","required":true,"schema":{"default":"\u003cYOUR_PROJECT_ID>","type":"string","isRequired":true,"description":"The Mixpanel project_id, used to authenticate service account credentials.","uniqueKey":"","typeLabel":"string"},"description":"The Mixpanel project_id, used to authenticate service account credentials."},"46981e57-5b65-4cea-b2a0-5c1a98964f6d":{"in":"header","name":"Content-Type","schema":{"type":"string","default":"application/json","enum":["application/json","application/x-ndjson"],"uniqueKey":"","typeLabel":"enum\u003cstring>"}},"4909f021-d259-4385-b74f-9f15efc8a628":{"in":"header","name":"Content-Encoding","schema":{"type":"string","enum":["gzip"],"uniqueKey":"","typeLabel":"enum\u003cstring>"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","minItems":1,"items":{"type":"object","required":["event","properties"],"properties":{"event":{"type":"string","title":"event","description":"The name of the event.","isRequired":true,"uniqueKey":"items.[INDEX].event","typeLabel":"string"},"properties":{"type":"object","title":"properties","description":"A JSON object containing properties of the event.","required":["time","$insert_id","distinct_id"],"properties":{"time":{"oneOf":[{"type":"number","title":"time","description":"The time at which the event occurred. Accepts a Unix epoch in seconds or milliseconds (integer or float, auto-detected; e.g. `1788422480.137` or `1788422480137`), or an RFC 3339 / ISO 8601 string (e.g. `\"2026-09-11T01:11:10.341Z\"`). Fractional seconds are kept to the millisecond; a trailing `Z` or explicit offset (e.g. `+10:00`) is converted to UTC, and a string with no offset is treated as UTC. Events are stored with millisecond precision. If the time value is set in the future, it will be overwritten with the current present time at ingestion.","isRequired":true,"uniqueKey":"items.[INDEX].properties.time.oneOf.0","typeLabel":"number"},{"type":"string","title":"time","description":"The time at which the event occurred. Accepts a Unix epoch in seconds or milliseconds (integer or float, auto-detected; e.g. `1788422480.137` or `1788422480137`), or an RFC 3339 / ISO 8601 string (e.g. `\"2026-09-11T01:11:10.341Z\"`). Fractional seconds are kept to the millisecond; a trailing `Z` or explicit offset (e.g. `+10:00`) is converted to UTC, and a string with no offset is treated as UTC. Events are stored with millisecond precision. If the time value is set in the future, it will be overwritten with the current present time at ingestion.","isRequired":true,"uniqueKey":"items.[INDEX].properties.time.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"items.[INDEX].properties.time","typeLabel":"number | string"},"distinct_id":{"type":"string","title":"distinct_id","description":"The unique identifier of the user who performed the event.","isRequired":true,"uniqueKey":"items.[INDEX].properties.distinct_id","typeLabel":"string"},"$insert_id":{"type":"string","title":"$insert_id","description":"A unique identifier for the event, used for deduplication. Events with identical values for (event, time, distinct_id, $insert_id) are considered duplicates; only the latest ingested one will be considered in queries.","isRequired":true,"uniqueKey":"items.[INDEX].properties.$insert_id","typeLabel":"string"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"items.[INDEX].properties","typeLabel":"properties · object"}},"additionalProperties":false,"uniqueKey":"items.[INDEX]","typeLabel":"object"},"uniqueKey":"","typeLabel":"object[]"},"examples":{"Example":{"title":"Example","value":[{"event":"\u003cstring>","properties":{"time":123,"distinct_id":"\u003cstring>","$insert_id":"\u003cstring>"}}]}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"d2012903-2ec3-4477-aa37-7a6a82e8d306":{"description":"A 200 response indicates all records were successfully ingested.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","uniqueKey":"code","typeLabel":"integer"},"num_records_imported":{"type":"integer","uniqueKey":"num_records_imported","typeLabel":"integer"},"status":{"type":"string","uniqueKey":"status","typeLabel":"string"}},"example":{"code":200,"num_records_imported":2000,"status":"OK"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":200,"num_records_imported":2000,"status":"OK"}}},"exampleType":"generated"}},"exampleType":"generated"},"1cf9f195-b176-4372-bffb-ca698413488b":{"description":"A 400 response indicates that some records failed validation.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","uniqueKey":"code","typeLabel":"integer"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"status":{"type":"string","uniqueKey":"status","typeLabel":"string"},"num_records_imported":{"type":"integer","uniqueKey":"num_records_imported","typeLabel":"integer"},"failed_records":{"type":"array","items":{"type":"object","properties":{"index":{"type":"number","uniqueKey":"failed_records.items.[INDEX].index","typeLabel":"number"},"insert_id":{"type":"string","uniqueKey":"failed_records.items.[INDEX].insert_id","typeLabel":"string"},"field":{"type":"string","uniqueKey":"failed_records.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","uniqueKey":"failed_records.items.[INDEX].message","typeLabel":"string"}},"uniqueKey":"failed_records.items.[INDEX]","typeLabel":"object"},"uniqueKey":"failed_records","typeLabel":"object[]"}},"example":{"code":400,"num_records_imported":999,"status":"Bad Request","failed_records":[{"index":0,"insert_id":"13c0b661-f48b-51cd-ba54-97c5999169c0","field":"properties.time","message":"'properties.time' is invalid: must be specified as seconds since epoch"}]},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":400,"num_records_imported":999,"status":"Bad Request","failed_records":[{"index":0,"insert_id":"13c0b661-f48b-51cd-ba54-97c5999169c0","field":"properties.time","message":"'properties.time' is invalid: must be specified as seconds since epoch"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"a3180c56-a1b1-4455-8f93-c7fd9e4923fb":{"description":"A 401 response indicates invalid credentials.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","uniqueKey":"code","typeLabel":"integer"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"status":{"type":"string","uniqueKey":"status","typeLabel":"string"}},"example":{"code":401,"error":"Invalid credentials","status":"Unauthorized"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":401,"error":"Invalid credentials","status":"Unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"6abec97c-8f6e-48d4-9411-880db9f5ef55":{"description":"A 413 response indicates that the payload is too large.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","uniqueKey":"code","typeLabel":"integer"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"status":{"type":"string","uniqueKey":"status","typeLabel":"string"}},"example":{"code":413,"error":"request exceeds max limit of 10485760 bytes","status":"Request Entity Too Large"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":413,"error":"request exceeds max limit of 10485760 bytes","status":"Request Entity Too Large"}}},"exampleType":"generated"}},"exampleType":"generated"},"ba8d1cb4-1323-4715-a6f4-c46141b9de27":{"description":"A 429 response indicates rate limits have been exceeded.","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","uniqueKey":"code","typeLabel":"integer"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"status":{"type":"string","uniqueKey":"status","typeLabel":"string"}},"example":{"code":429,"error":"Project exceeded rate limits. Please retry the request with exponential backoff.","status":"Too Many Requests"},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":429,"error":"Project exceeded rate limits. Please retry the request with exponential backoff.","status":"Too Many Requests"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"30ef2746-969d-45df-af56-fe25a84601a3":{"ServiceAccount":{"type":"http","scheme":"basic","description":"Service Account","scopes":[],"schemeName":"ServiceAccount"}},"00d009b6-928d-45e3-958d-5621616cb566":{"OAuthToken":{"type":"http","scheme":"bearer","description":"OAuth Token","scopes":[],"schemeName":"OAuthToken"}}},"servers":{"67135364-a6e6-485d-8106-147dcafd8b45":{"url":"https://{region}.mixpanel.com","description":"Mixpanel's data collection server.","variables":{"region":{"default":"api","enum":["api","api-eu","api-in"],"description":"The server location to be used:\n * `api` - The default (US) servers used for most projects\n * `api-eu` - EU servers if you are enrolled in EU Data Residency\n * `api-in` - India servers if you are enrolled in India Data Residency\n"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"basic","description":"Service Account","scopes":[],"schemeName":"ServiceAccount"},"schema":{"title":"Basic Auth","type":"object","description":"Service Account","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"ServiceAccount","name":"Authorization"}],"title":"ServiceAccount"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"OAuth Token","scopes":[],"schemeName":"OAuthToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"OAuth Token","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"OAuthToken","name":"Authorization"}],"title":"OAuthToken"}]},"originalFileLocation":"openapi/ingestion.openapi.yaml"},"subdomain":"mixpanel-edb78807","siteName":"Mixpanel","title":"Import Events - Mixpanel","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"manual"},"contextualStarterQuestions":[{"_id":"6ae240e65679fd8985f47718","deploymentId":"69b350f33e949c7a5a4dbb8c","questionText":"Which auth methods work?","status":"active","generatedBy":"contextual","path":"reference/import-events","createdAt":"2026-10-28T18:37:26.122Z","updatedAt":"2026-10-28T18:37:26.122Z","__v":0},{"_id":"6ae240e65679fd8985f47717","deploymentId":"69b350f33e949c7a5a4dbb8c","questionText":"What's the max batch size?","status":"active","generatedBy":"contextual","path":"reference/import-events","createdAt":"2026-10-28T18:37:26.122Z","updatedAt":"2026-10-28T18:37:26.122Z","__v":0},{"_id":"6ae240e65679fd8985f47719","deploymentId":"69b350f33e949c7a5a4dbb8c","questionText":"How do I enable validation?","status":"active","generatedBy":"contextual","path":"reference/import-events","createdAt":"2026-10-28T18:37:26.122Z","updatedAt":"2026-10-28T18:37:26.122Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T18:37:02.899Z","originalFileLocation":"reference/import-events.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Use this API to send batches of events from your servers to Mixpanel\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mixpanel\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Import Events - Mixpanel\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use this API to send batches of events from your servers to Mixpanel\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mixpanel\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mixpanel.com/reference/import-events\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mixpanel-edb78807.mintlify.site/_mintlify/api/og/v2?division=Events\u0026amp;title=Import+Events\u0026amp;description=Use+this+API+to+send+batches+of+events+from+your+servers+to+Mixpanel\u0026amp;theme=624105f698bb0a7f71b3897f\u0026amp;signature=5fb2c519db05ab165be7dc0e258d316158dba2eddd60d947b9b97eba53ecbda4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Import Events - Mixpanel\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use this API to send batches of events from your servers to Mixpanel\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mixpanel-edb78807.mintlify.site/_mintlify/api/og/v2?division=Events\u0026amp;title=Import+Events\u0026amp;description=Use+this+API+to+send+batches+of+events+from+your+servers+to+Mixpanel\u0026amp;theme=624105f698bb0a7f71b3897f\u0026amp;signature=5fb2c519db05ab165be7dc0e258d316158dba2eddd60d947b9b97eba53ecbda4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/mixpanel-edb78807/CduMXmQIBqqE7wqB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mixpanel\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7856ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mixpanel.com/reference/import-events\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/import-events.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mixpanel.com/#organization\",\"name\":\"Mixpanel\",\"url\":\"https://docs.mixpanel.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mixpanel-edb78807/DbK2t9axJQF3qO_F/logo/light.svg?fit=max\u0026auto=format\u0026n=DbK2t9axJQF3qO_F\u0026q=85\u0026s=6197d81a55ffdba599db8650555eb912\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mixpanel.com#website\",\"name\":\"Mixpanel\",\"url\":\"https://docs.mixpanel.com\",\"publisher\":{\"@id\":\"https://docs.mixpanel.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mixpanel.com/reference/import-events#webpage\",\"url\":\"https://docs.mixpanel.com/reference/import-events\",\"name\":\"Import Events\",\"description\":\"Use this API to send batches of events from your servers to Mixpanel\",\"dateModified\":\"2026-10-28T18:37:02.899Z\",\"isPartOf\":{\"@id\":\"https://docs.mixpanel.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mixpanel.com/reference/import-events#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mixpanel.com/reference/import-events#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Mixpanel\",\"item\":\"https://docs.mixpanel.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Import Events\",\"item\":\"https://docs.mixpanel.com/reference/import-events\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mixpanel.com/reference/import-events#apireference\",\"headline\":\"Import Events\",\"name\":\"Import Events\",\"description\":\"Use this API to send batches of events from your servers to Mixpanel\",\"url\":\"https://docs.mixpanel.com/reference/import-events\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mixpanel.com/reference/import-events#webpage\"},\"dateModified\":\"2026-10-28T18:37:02.899Z\",\"publisher\":{\"@id\":\"https://docs.mixpanel.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mixpanel.com#website\"}}]}\u003c/script>","agentPointerHref":"/reference/import-events.md","siteName":"Mixpanel","nav":{"global":{"anchors":[{"anchor":"About Us","icon":"circle-question","href":"https://mixpanel.com/about"},{"anchor":"Community","icon":"users","href":"https://community.mixpanel.com/"},{"anchor":"Blog","icon":"newspaper","href":"https://mixpanel.com/blog"}]},"tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":"/docs/what-is-mixpanel"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/mixpanel-introduction"}]},{"tab":"Changelogs","pages":[{"title":"Changelogs","href":"/changelogs"}]},{"tab":"FAQs","pages":[{"title":"FAQs","href":"/troubleshooting/faqs"}]},{"tab":"API Docs","groups":[{"group":"MIXPANEL APIs","pages":[{"title":"Overview","href":"/reference/overview"},{"group":"Authentication Methods","root":{"title":"Authentication Methods","href":"/reference/authentication"},"pages":[{"title":"Service Accounts","href":"/reference/service-accounts"},{"title":"Project Token","href":"/reference/project-token"},{"title":"Project Secret [Deprecated]","href":"/reference/project-secret"},{"title":"Request Signature [Deprecated]","href":"/reference/request-signature"}]},{"title":"Segmentation Expressions","href":"/reference/segmentation-expressions"},{"title":"Rate Limits","description":"Rate limits for the Ingestion, Query, Raw Data Export, Lexicon Schemas, and Feature Flags APIs, and how to avoid 429 errors","href":"/reference/rate-limits"}]},{"group":"INGESTION API","pages":[{"group":"Events","root":{"title":"Import Events","openapi":"openapi/ingestion.openapi.yaml POST /import","description":"Use this API to send batches of events from your servers to Mixpanel","href":"/reference/import-events"},"pages":[{"title":"Import Events","openapi":"openapi/ingestion.openapi.yaml POST /import","description":"Use this API to send batches of events from your servers to Mixpanel","href":"/reference/import-events"},{"openapi":"openapi/ingestion.openapi.yaml POST /track","title":"Track Events","description":"Track events to Mixpanel from client devices","href":"/reference/track-event"},{"title":"Event Deduplication","description":"Mixpanel provides an event deduplication mechanism to ensure that duplicate events do not skew your analytics","href":"/reference/event-deduplication"}]},{"title":"Overview","href":"/reference/ingestion-api"},{"title":"Authentication","href":"/reference/ingestion-api-authentication"},{"group":"Group Profiles","root":{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-set","title":"Update Group Profile Property","href":"/reference/group-set-property"},"pages":[{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-set","title":"Update Group Profile Property","href":"/reference/group-set-property"},{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-set-once","title":"Set Group Profile Property Once","href":"/reference/group-set-property-once"},{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-unset","title":"Delete Group Profile Property","href":"/reference/group-delete-property"},{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-remove-from-list","title":"Remove from Group Profile List Property","href":"/reference/group-remove-from-list-property"},{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-union","title":"Union to Group Profile List Property","href":"/reference/group-union"},{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-batch-update","title":"Batch Update Group Profiles","href":"/reference/group-batch-update"},{"openapi":"openapi/ingestion.openapi.yaml POST /groups#group-delete","title":"Delete Group","href":"/reference/delete-group"},{"title":"Limits","href":"/reference/limits-1"}]},{"group":"Lookup Tables","root":{"title":"Lookup Tables","href":"/reference/lookup-tables"},"pages":[{"openapi":"openapi/ingestion.openapi.yaml GET /lookup-tables","title":"List Lookup Tables","href":"/reference/list-lookup-tables"},{"openapi":"openapi/ingestion.openapi.yaml PUT /lookup-tables/{id}","title":"Replace a Lookup Table","href":"/reference/replace-lookup-table"}]},{"group":"User Profiles","root":{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-set","title":"Set User Profile Property","href":"/reference/profile-set"},"pages":[{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-set","title":"Set User Profile Property","href":"/reference/profile-set"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-set-once","title":"Set User Profile Property Once","href":"/reference/profile-set-property-once"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-numerical-add","title":"Increment Numerical Property","href":"/reference/profile-numerical-add"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-union","title":"Union to User Profile List Property","href":"/reference/user-profile-union"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-list-append","title":"Append to List Property","href":"/reference/profile-append-to-list-property"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-list-remove","title":"Remove from User Profile List Property","href":"/reference/profile-remove-from-list-property"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-unset","title":"Delete User Profile Property","href":"/reference/profile-delete-property"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-batch-update","title":"Update Multiple Profiles","href":"/reference/profile-batch-update"},{"openapi":"openapi/ingestion.openapi.yaml POST /engage#profile-delete","title":"Delete User Profile","href":"/reference/delete-profile"},{"title":"Limits","href":"/reference/user-profile-limits"}]}]},{"group":"IDENTITY API","pages":[{"group":"Identities","root":{"openapi":"openapi/identity.openapi.yaml POST /track#create-identity","title":"Create Identity","href":"/reference/create-identity"},"pages":[{"openapi":"openapi/identity.openapi.yaml POST /track#create-identity","title":"Create Identity","href":"/reference/create-identity"},{"openapi":"openapi/identity.openapi.yaml POST /track#identity-create-alias","title":"Create Alias","href":"/reference/identity-create-alias"},{"openapi":"openapi/identity.openapi.yaml POST /import","title":"Merge Identities","href":"/reference/identity-merge"}]}]},{"group":"QUERY API","pages":[{"title":"Overview","href":"/reference/query-api"},{"group":"Cohorts","root":{"openapi":"openapi/query.openapi.yaml POST /cohorts/list","title":"List Saved Cohorts","href":"/reference/cohorts-list"},"pages":[{"openapi":"openapi/query.openapi.yaml POST /cohorts/list","title":"List Saved Cohorts","href":"/reference/cohorts-list"}]},{"group":"Engage","root":{"openapi":"openapi/query.openapi.yaml POST /engage","title":"Query Profiles","href":"/reference/engage-query"},"pages":[{"openapi":"openapi/query.openapi.yaml POST /engage","title":"Query Profiles","href":"/reference/engage-query"}]},{"title":"Authentication","href":"/reference/query-api-authentication"},{"group":"Funnels","root":{"openapi":"openapi/query.openapi.yaml GET /funnels","title":"Query Saved Report","href":"/reference/funnels-query"},"pages":[{"openapi":"openapi/query.openapi.yaml GET /funnels","title":"Query Saved Report","href":"/reference/funnels-query"},{"openapi":"openapi/query.openapi.yaml GET /funnels/list","title":"List Saved Funnels","href":"/reference/funnels-list-saved"}]},{"group":"Insights","root":{"openapi":"openapi/query.openapi.yaml GET /insights","title":"Query Saved Report","href":"/reference/insights-query"},"pages":[{"openapi":"openapi/query.openapi.yaml GET /insights","title":"Query Saved Report","href":"/reference/insights-query"},{"openapi":"openapi/insights.openapi.json POST /insights/query","title":"Custom Insights Query","tag":"BETA","href":"/reference/insights-run-query"}]},{"group":"JQL","root":{"openapi":"openapi/query.openapi.yaml POST /jql","title":"Custom JQL Query","href":"/reference/query-jql"},"pages":[{"openapi":"openapi/query.openapi.yaml POST /jql","title":"Custom JQL Query","href":"/reference/query-jql"},{"title":"Additional Information","url":"/docs/reports/apps/jql","href":"/links/jql"}]},{"group":"Retention","root":{"openapi":"openapi/query.openapi.yaml GET /retention","title":"Query Retention Report","href":"/reference/retention-query"},"pages":[{"openapi":"openapi/query.openapi.yaml GET /retention","title":"Query Retention Report","href":"/reference/retention-query"},{"openapi":"openapi/query.openapi.yaml GET /retention/addiction","title":"Query Frequency Report","href":"/reference/retention-frequency-query"}]},{"group":"Segmentation","root":{"openapi":"openapi/query.openapi.yaml GET /segmentation","title":"Query Segmentation Report","href":"/reference/segmentation-query"},"pages":[{"openapi":"openapi/query.openapi.yaml GET /segmentation","title":"Query Segmentation Report","href":"/reference/segmentation-query"},{"openapi":"openapi/query.openapi.yaml GET /segmentation/numeric","title":"Numerically Bucket","href":"/reference/segmentation-numeric-query"},{"openapi":"openapi/query.openapi.yaml GET /segmentation/sum","title":"Numerically Sum","href":"/reference/segmentation-sum-query"},{"openapi":"openapi/query.openapi.yaml GET /segmentation/average","title":"Numerically Average","href":"/reference/segmentation-query-average"}]},{"group":"Activity Feed","root":{"openapi":"openapi/query.openapi.yaml GET /stream/query","title":"Profile Event Activity","href":"/reference/activity-stream-query"},"pages":[{"openapi":"openapi/query.openapi.yaml GET /stream/query","title":"Profile Event Activity","href":"/reference/activity-stream-query"}]},{"group":"Event Breakdown","root":{"openapi":"openapi/query.openapi.yaml GET /events","title":"Aggregate Event Counts","href":"/reference/list-recent-events"},"pages":[{"openapi":"openapi/query.openapi.yaml GET /events","title":"Aggregate Event Counts","href":"/reference/list-recent-events"},{"openapi":"openapi/query.openapi.yaml GET /events/top","title":"Today's Top Events","href":"/reference/query-top-events"},{"openapi":"openapi/query.openapi.yaml GET /events/names","title":"Top Events","href":"/reference/query-months-top-event-names"},{"openapi":"openapi/query.openapi.yaml GET /events/properties","title":"Aggregrated Event Property Values","href":"/reference/query-event-properties"},{"openapi":"openapi/query.openapi.yaml GET /events/properties/top","title":"Top Event Properties","href":"/reference/query-events-top-properties"},{"openapi":"openapi/query.openapi.yaml GET /events/properties/values","title":"Top Event Property Values","href":"/reference/query-events-top-property-values"}]}]},{"group":"EVENT EXPORT API","pages":[{"group":"Export","root":{"openapi":"openapi/export.openapi.yaml GET /export","title":"Download Data","href":"/reference/raw-event-export"},"pages":[{"openapi":"openapi/export.openapi.yaml GET /export","title":"Download Data","href":"/reference/raw-event-export"}]},{"title":"Overview","href":"/reference/raw-data-export-api"},{"title":"Authentication","href":"/reference/raw-data-export-api-authentication"}]},{"group":"LEXICON SCHEMAS API","pages":[{"title":"Overview","href":"/reference/lexicon-schemas-api"},{"title":"Authentication","href":"/reference/lexicon-schemas-api-authentication"},{"group":"Create Schemas","root":{"openapi":"openapi/lexicon-schemas.openapi.yaml POST /projects/{projectId}/schemas","title":"Create/Replace Multiple","href":"/reference/upload-schemas-for-project"},"pages":[{"openapi":"openapi/lexicon-schemas.openapi.yaml POST /projects/{projectId}/schemas","title":"Create/Replace Multiple","href":"/reference/upload-schemas-for-project"},{"openapi":"openapi/lexicon-schemas.openapi.yaml POST /projects/{projectId}/schemas/{entityType}/{name}","title":"Create/Replace One","href":"/reference/upload-schema-by-entity-and-name"}]},{"group":"Delete Schemas","root":{"openapi":"openapi/lexicon-schemas.openapi.yaml DELETE /projects/{projectId}/schemas","title":"Delete all Schemas","href":"/reference/delete-all-schemas-in-project"},"pages":[{"openapi":"openapi/lexicon-schemas.openapi.yaml DELETE /projects/{projectId}/schemas","title":"Delete all Schemas","href":"/reference/delete-all-schemas-in-project"},{"openapi":"openapi/lexicon-schemas.openapi.yaml DELETE /projects/{projectId}/schemas/{entityType}","title":"Delete for Entity","href":"/reference/delete-schemas-for-entity"},{"openapi":"openapi/lexicon-schemas.openapi.yaml DELETE /projects/{projectId}/schemas/{entityType}/{name}","title":"Delete for Entity and Name","href":"/reference/delete-schema-by-entity-and-name"}]},{"group":"Retrieve Schemas","root":{"openapi":"openapi/lexicon-schemas.openapi.yaml GET /projects/{projectId}/schemas","title":"List Schemas","href":"/reference/list-all-schemas-for-project"},"pages":[{"openapi":"openapi/lexicon-schemas.openapi.yaml GET /projects/{projectId}/schemas","title":"List Schemas","href":"/reference/list-all-schemas-for-project"},{"openapi":"openapi/lexicon-schemas.openapi.yaml GET /projects/{projectId}/schemas/{entityType}","title":"List for Entity","href":"/reference/list-schemas-for-entity"},{"openapi":"openapi/lexicon-schemas.openapi.yaml GET /projects/{projectId}/schemas/{entityType}/{name}","title":"List for Entity and Name","href":"/reference/list-schemas-by-entity-and-name"}]},{"title":"Limits","href":"/reference/limits"}]},{"group":"DATA PIPELINES API","pages":[{"title":"Overview","href":"/reference/overview-2"},{"title":"Authentication","href":"/reference/authentication-2"},{"group":"Create Pipelines","root":{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/create","title":"Create Pipeline","href":"/reference/create-warehouse-pipeline"},"pages":[{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/create","title":"Create Pipeline","href":"/reference/create-warehouse-pipeline"}]},{"group":"Delete Pipelines","root":{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/cancel","title":"Delete Pipeline","href":"/reference/cancel-warehouse-pipeline"},"pages":[{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/cancel","title":"Delete Pipeline","href":"/reference/cancel-warehouse-pipeline"}]},{"group":"Edit Pipelines","root":{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/edit","title":"Edit Pipeline","href":"/reference/edit-warehouse-pipeline"},"pages":[{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/edit","title":"Edit Pipeline","href":"/reference/edit-warehouse-pipeline"}]},{"group":"Pause Pipelines","root":{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/pause","title":"Pause Pipeline","href":"/reference/pause-warehouse-pipeline"},"pages":[{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/pause","title":"Pause Pipeline","href":"/reference/pause-warehouse-pipeline"}]},{"group":"Resume Pipelines","root":{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/resume","title":"Resume Pipeline","href":"/reference/resume-warehouse-pipeline"},"pages":[{"openapi":"openapi/data-pipelines.openapi.yaml POST /nessie/pipeline/resume","title":"Resume Pipeline","href":"/reference/resume-warehouse-pipeline"}]},{"group":"Retrieve Pipelines","root":{"openapi":"openapi/data-pipelines.openapi.yaml GET /nessie/pipeline/jobs","title":"List Pipelines","href":"/reference/list-warehouse-pipeline-jobs"},"pages":[{"openapi":"openapi/data-pipelines.openapi.yaml GET /nessie/pipeline/jobs","title":"List Pipelines","href":"/reference/list-warehouse-pipeline-jobs"},{"openapi":"openapi/data-pipelines.openapi.yaml GET /nessie/pipeline/status","title":"Get Pipeline","href":"/reference/get-warehouse-pipeline-status"},{"openapi":"openapi/data-pipelines.openapi.yaml GET /nessie/pipeline/timeline","title":"List Pipeline Logs","href":"/reference/list-warehouse-pipeline-sync-dates"}]}]},{"group":"SERVICE ACCOUNTS API","pages":[{"title":"Overview","href":"/reference/service-accounts-api"},{"title":"Authentication","href":"/reference/service-accounts-api-authentication"},{"group":"Create Service Accounts","root":{"openapi":"openapi/service-accounts.openapi.yaml POST /organizations/{organizationId}/service-accounts","title":"Create Service Account","href":"/reference/create-service-account"},"pages":[{"openapi":"openapi/service-accounts.openapi.yaml POST /organizations/{organizationId}/service-accounts","title":"Create Service Account","href":"/reference/create-service-account"}]},{"group":"Delete Service Accounts","root":{"openapi":"openapi/service-accounts.openapi.yaml DELETE /organizations/{organizationId}/service-accounts/{serviceAccountId}","title":"Delete Service Account","href":"/reference/delete-service-account"},"pages":[{"openapi":"openapi/service-accounts.openapi.yaml DELETE /organizations/{organizationId}/service-accounts/{serviceAccountId}","title":"Delete Service Account","href":"/reference/delete-service-account"}]},{"group":"Project Membership","root":{"openapi":"openapi/service-accounts.openapi.yaml GET /projects/{projectId}/service-accounts","title":"List Service Accounts For Project","href":"/reference/list-project-service-accounts"},"pages":[{"openapi":"openapi/service-accounts.openapi.yaml GET /projects/{projectId}/service-accounts","title":"List Service Accounts For Project","href":"/reference/list-project-service-accounts"},{"openapi":"openapi/service-accounts.openapi.yaml POST /organizations/{organizationId}/service-accounts/add-to-project","title":"Add Service Accounts To Projects","href":"/reference/add-service-accounts-to-projects"},{"openapi":"openapi/service-accounts.openapi.yaml POST /organizations/{organizationId}/service-accounts/remove-from-project","title":"Remove Service Accounts From Projects","href":"/reference/remove-service-accounts-from-projects"}]},{"group":"Retrieve Service Accounts","root":{"openapi":"openapi/service-accounts.openapi.yaml GET /organizations/{organizationId}/service-accounts","title":"List Service Accounts","href":"/reference/list-service-accounts"},"pages":[{"openapi":"openapi/service-accounts.openapi.yaml GET /organizations/{organizationId}/service-accounts","title":"List Service Accounts","href":"/reference/list-service-accounts"},{"openapi":"openapi/service-accounts.openapi.yaml GET /organizations/{organizationId}/service-accounts/{serviceAccountId}","title":"Get Service Account","href":"/reference/get-service-account"}]}]},{"group":"ANNOTATIONS API","pages":[{"title":"Overview","href":"/reference/overview-1"},{"group":"Delete Annotation","root":{"openapi":"openapi/annotations.openapi.yaml DELETE /projects/{projectId}/annotations/{annotationId}","title":"Delete Annotation","href":"/reference/delete-annotation-1"},"pages":[{"openapi":"openapi/annotations.openapi.yaml DELETE /projects/{projectId}/annotations/{annotationId}","title":"Delete Annotation","href":"/reference/delete-annotation-1"}]},{"group":"Retrieve Annotations","root":{"openapi":"openapi/annotations.openapi.yaml GET /projects/{projectId}/annotations","title":"List Annotations","href":"/reference/list-all-annotations-for-project"},"pages":[{"openapi":"openapi/annotations.openapi.yaml GET /projects/{projectId}/annotations","title":"List Annotations","href":"/reference/list-all-annotations-for-project"},{"openapi":"openapi/annotations.openapi.yaml GET /projects/{projectId}/annotations/{annotationId}","title":"Get Annotation","href":"/reference/get-annotation-1"}]},{"group":"Create Annotations","root":{"openapi":"openapi/annotations.openapi.yaml POST /projects/{projectId}/annotations","title":"Create Annotations","href":"/reference/create-annotation"},"pages":[{"openapi":"openapi/annotations.openapi.yaml POST /projects/{projectId}/annotations","title":"Create Annotations","href":"/reference/create-annotation"}]},{"group":"Patch Annotation","root":{"openapi":"openapi/annotations.openapi.yaml PATCH /projects/{projectId}/annotations/{annotationId}","title":"Patch Annotation","href":"/reference/patch-annotation-1"},"pages":[{"openapi":"openapi/annotations.openapi.yaml PATCH /projects/{projectId}/annotations/{annotationId}","title":"Patch Annotation","href":"/reference/patch-annotation-1"}]},{"group":"Get Annotation tags","root":{"openapi":"openapi/annotations.openapi.yaml GET /projects/{projectId}/annotations/tags","title":"Get Annotation Tags","href":"/reference/get-annotation-tags-1"},"pages":[{"openapi":"openapi/annotations.openapi.yaml GET /projects/{projectId}/annotations/tags","title":"Get Annotation Tags","href":"/reference/get-annotation-tags-1"}]},{"group":"Create Annotation tag","root":{"openapi":"openapi/annotations.openapi.yaml POST /projects/{projectId}/annotations/tags","title":"Create Annotation Tag","href":"/reference/create-annotation-tag-1"},"pages":[{"openapi":"openapi/annotations.openapi.yaml POST /projects/{projectId}/annotations/tags","title":"Create Annotation Tag","href":"/reference/create-annotation-tag-1"}]}]},{"group":"GDPR API","pages":[{"title":"Overview","href":"/reference/gdpr-api"},{"group":"Create a Retrieval","root":{"openapi":"openapi/gdpr.openapi.yaml POST /data-retrievals/v3.0","title":"Create a Retrieval","href":"/reference/create-retrieval-1"},"pages":[{"openapi":"openapi/gdpr.openapi.yaml POST /data-retrievals/v3.0","title":"Create a Retrieval","href":"/reference/create-retrieval-1"}]},{"group":"Check Status of Retrieval","root":{"openapi":"openapi/gdpr.openapi.yaml GET /data-retrievals/v3.0/{tracking_id}","title":"Check Status of Retrieval","href":"/reference/get-retrieval"},"pages":[{"openapi":"openapi/gdpr.openapi.yaml GET /data-retrievals/v3.0/{tracking_id}","title":"Check Status of Retrieval","href":"/reference/get-retrieval"}]},{"group":"Create a Deletion","root":{"openapi":"openapi/gdpr.openapi.yaml POST /data-deletions/v3.0","title":"Create a Deletion","href":"/reference/create-deletion"},"pages":[{"openapi":"openapi/gdpr.openapi.yaml POST /data-deletions/v3.0","title":"Create a Deletion","href":"/reference/create-deletion"}]},{"group":"Check Status of Deletion","root":{"openapi":"openapi/gdpr.openapi.yaml GET /data-deletions/v3.0/{tracking_id}","title":"Check Status of Deletion","href":"/reference/get-deletion"},"pages":[{"openapi":"openapi/gdpr.openapi.yaml GET /data-deletions/v3.0/{tracking_id}","title":"Check Status of Deletion","href":"/reference/get-deletion"}]},{"group":"Cancel a Deletion","root":{"openapi":"openapi/gdpr.openapi.yaml DELETE /data-deletions/v3.0/{tracking_id}","title":"Cancel a Deletion","href":"/reference/delete-deletion"},"pages":[{"openapi":"openapi/gdpr.openapi.yaml DELETE /data-deletions/v3.0/{tracking_id}","title":"Cancel a Deletion","href":"/reference/delete-deletion"}]}]},{"group":"WAREHOUSE CONNECTORS API","pages":[{"title":"Overview","href":"/reference/warehouse-connectors-api"},{"title":"Authentication","href":"/reference/warehouse-connectors-api-authentication"},{"group":"Warehouse Imports","root":{"openapi":"openapi/warehouse-connectors.openapi.yaml PUT /projects/{projectId}/warehouse-sources/imports/{importId}/manual-sync","title":"Run an import","href":"/reference/run-an-import-1"},"pages":[{"openapi":"openapi/warehouse-connectors.openapi.yaml PUT /projects/{projectId}/warehouse-sources/imports/{importId}/manual-sync","title":"Run an import","href":"/reference/run-an-import-1"},{"openapi":"openapi/warehouse-connectors.openapi.yaml GET /projects/{projectId}/warehouse-sources/imports","title":"List Warehouse Imports","href":"/reference/list-warehouse-imports"},{"openapi":"openapi/warehouse-connectors.openapi.yaml GET /projects/{projectId}/warehouse-sources/imports/{importId}","title":"Get Warehouse Import","href":"/reference/get-warehouse-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml PATCH /projects/{projectId}/warehouse-sources/imports/{importId}","title":"Update Warehouse Import","href":"/reference/update-warehouse-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml DELETE /projects/{projectId}/warehouse-sources/imports/{importId}","title":"Delete Warehouse Import","href":"/reference/delete-warehouse-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml POST /projects/{projectId}/warehouse-sources/imports/event-stream","title":"Create Event Stream Import","href":"/reference/create-event-stream-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml POST /projects/{projectId}/warehouse-sources/imports/people","title":"Create People Import","href":"/reference/create-people-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml POST /projects/{projectId}/warehouse-sources/imports/groups","title":"Create Groups Import","href":"/reference/create-groups-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml POST /projects/{projectId}/warehouse-sources/imports/lookup-table","title":"Create Lookup Table Import","href":"/reference/create-lookup-table-import"},{"openapi":"openapi/warehouse-connectors.openapi.yaml GET /projects/{projectId}/warehouse-sources/imports/{importId}/history","title":"Get Import History","href":"/reference/get-import-history"}]},{"title":"Run an Import","href":"/reference/run-an-import"}]},{"group":"FEATURE FLAGS API","pages":[{"title":"Overview","href":"/reference/feature-flags-api"},{"group":"Get Flag Definitions","root":{"openapi":"openapi/feature-flags.openapi.yaml GET /flags/definitions","title":"Get Flag Definitions","href":"/reference/get-flag-definitions"},"pages":[{"openapi":"openapi/feature-flags.openapi.yaml GET /flags/definitions","title":"Get Flag Definitions","href":"/reference/get-flag-definitions"}]},{"group":"Get Variant Assignments","root":{"openapi":"openapi/feature-flags.openapi.yaml GET /flags","title":"Get Variant Assignments","href":"/reference/get-variant-assignments"},"pages":[{"openapi":"openapi/feature-flags.openapi.yaml GET /flags","title":"Get Variant Assignments","href":"/reference/get-variant-assignments"}]}]},{"group":"FEATURE FLAGS MANAGEMENT API","pages":[{"title":"Overview","href":"/reference/feature-flags-management-api"},{"group":"Flag Management","root":{"openapi":"openapi/feature-flags-management.openapi.yaml GET /projects/{project_id}/workspaces/{workspace_id}/feature-flags","title":"List Feature Flags","href":"/reference/list-feature-flags-1"},"pages":[{"openapi":"openapi/feature-flags-management.openapi.yaml GET /projects/{project_id}/workspaces/{workspace_id}/feature-flags","title":"List Feature Flags","href":"/reference/list-feature-flags-1"},{"openapi":"openapi/feature-flags-management.openapi.yaml POST /projects/{project_id}/workspaces/{workspace_id}/feature-flags","title":"Create Feature Flag","href":"/reference/create-feature-flag-1"},{"openapi":"openapi/feature-flags-management.openapi.yaml GET /projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id}","title":"Get Feature Flag","href":"/reference/get-feature-flag-1"},{"openapi":"openapi/feature-flags-management.openapi.yaml DELETE /projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id}","title":"Delete Feature Flag","href":"/reference/delete-feature-flag-1"},{"openapi":"openapi/feature-flags-management.openapi.yaml PUT /projects/{project_id}/workspaces/{workspace_id}/feature-flags/{flag_id}","title":"Update Feature Flag","href":"/reference/update-feature-flag-1"}]}]},{"group":"EXPERIMENTS API","pages":[{"group":"Experiment Management","root":{"openapi":"openapi/experiments.openapi.yaml GET /workspaces/{workspace_id}/experiments","title":"List Experiments","href":"/reference/list-experiments"},"pages":[{"openapi":"openapi/experiments.openapi.yaml GET /workspaces/{workspace_id}/experiments","title":"List Experiments","href":"/reference/list-experiments"},{"openapi":"openapi/experiments.openapi.yaml POST /workspaces/{workspace_id}/experiments","title":"Create Experiment","href":"/reference/create-experiment"},{"openapi":"openapi/experiments.openapi.yaml GET /workspaces/{workspace_id}/experiments/{experiment_id}","title":"Get Experiment","href":"/reference/get-experiment"},{"openapi":"openapi/experiments.openapi.yaml PATCH /workspaces/{workspace_id}/experiments/{experiment_id}","title":"Update Experiment","href":"/reference/update-experiment"},{"openapi":"openapi/experiments.openapi.yaml DELETE /workspaces/{workspace_id}/experiments/{experiment_id}","title":"Delete Experiment","href":"/reference/delete-experiment"}]},{"group":"Experiment Actions","root":{"openapi":"openapi/experiments.openapi.yaml POST /workspaces/{workspace_id}/experiments/{experiment_id}/archive","title":"Archive Experiment","href":"/reference/archive-experiment"},"pages":[{"openapi":"openapi/experiments.openapi.yaml POST /workspaces/{workspace_id}/experiments/{experiment_id}/archive","title":"Archive Experiment","href":"/reference/archive-experiment"},{"openapi":"openapi/experiments.openapi.yaml DELETE /workspaces/{workspace_id}/experiments/{experiment_id}/archive","title":"Unarchive Experiment","href":"/reference/unarchive-experiment"},{"openapi":"openapi/experiments.openapi.yaml PATCH /workspaces/{workspace_id}/experiments/{experiment_id}/decide","title":"Decide Experiment","href":"/reference/decide-experiment"},{"openapi":"openapi/experiments.openapi.yaml PUT /workspaces/{workspace_id}/experiments/{experiment_id}/force_conclude","title":"Force Conclude Experiment","href":"/reference/force-conclude-experiment"},{"openapi":"openapi/experiments.openapi.yaml PUT /workspaces/{workspace_id}/experiments/{experiment_id}/launch","title":"Launch Experiment","href":"/reference/launch-experiment"}]}]},{"group":"PLATFORM API","pages":[{"group":"Overview","root":{"title":"Overview","href":"/reference/platform-api"},"pages":[{"title":"Permissions Reference","href":"/reference/permissions"}]},{"group":"Projects","pages":[{"title":"List Project Data Definitions","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/projects/{project_id}/data-definitions","href":"/api-reference/projects/list-project-data-definitions"},{"title":"Create Project Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/projects/{project_id}/data-definitions","href":"/api-reference/projects/create-project-data-definition"},{"title":"Merge Project Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/projects/{project_id}/data-definitions/merge","href":"/api-reference/projects/merge-project-data-definition"},{"title":"Unmerge Project Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/projects/{project_id}/data-definitions/unmerge","href":"/api-reference/projects/unmerge-project-data-definition"},{"title":"Get Project Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/projects/{project_id}/data-definitions/{definition_id}","href":"/api-reference/projects/get-project-data-definition"},{"title":"Delete Project Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json delete /v1/projects/{project_id}/data-definitions/{definition_id}","href":"/api-reference/projects/delete-project-data-definition"},{"title":"Patch Project Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json patch /v1/projects/{project_id}/data-definitions/{definition_id}","href":"/api-reference/projects/patch-project-data-definition"},{"title":"List Project Data Definition Tags","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/projects/{project_id}/data-definition-tags","href":"/api-reference/projects/list-project-data-definition-tags"},{"title":"Create Project Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/projects/{project_id}/data-definition-tags","href":"/api-reference/projects/create-project-data-definition-tag"},{"title":"Get Project Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/projects/{project_id}/data-definition-tags/{tag_id}","href":"/api-reference/projects/get-project-data-definition-tag"},{"title":"Delete Project Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json delete /v1/projects/{project_id}/data-definition-tags/{tag_id}","href":"/api-reference/projects/delete-project-data-definition-tag"},{"title":"Rename Project Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json patch /v1/projects/{project_id}/data-definition-tags/{tag_id}","href":"/api-reference/projects/rename-project-data-definition-tag"}]},{"group":"Workspaces","pages":[{"title":"List Workspace Data Definitions","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/workspaces/{workspace_id}/data-definitions","href":"/api-reference/workspaces/list-workspace-data-definitions"},{"title":"Create Workspace Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/workspaces/{workspace_id}/data-definitions","href":"/api-reference/workspaces/create-workspace-data-definition"},{"title":"Merge Workspace Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/workspaces/{workspace_id}/data-definitions/merge","href":"/api-reference/workspaces/merge-workspace-data-definition"},{"title":"Unmerge Workspace Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/workspaces/{workspace_id}/data-definitions/unmerge","href":"/api-reference/workspaces/unmerge-workspace-data-definition"},{"title":"Get Workspace Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/workspaces/{workspace_id}/data-definitions/{definition_id}","href":"/api-reference/workspaces/get-workspace-data-definition"},{"title":"Delete Workspace Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json delete /v1/workspaces/{workspace_id}/data-definitions/{definition_id}","href":"/api-reference/workspaces/delete-workspace-data-definition"},{"title":"Patch Workspace Data Definition","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json patch /v1/workspaces/{workspace_id}/data-definitions/{definition_id}","href":"/api-reference/workspaces/patch-workspace-data-definition"},{"title":"List Workspace Data Definition Tags","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/workspaces/{workspace_id}/data-definition-tags","href":"/api-reference/workspaces/list-workspace-data-definition-tags"},{"title":"Create Workspace Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/workspaces/{workspace_id}/data-definition-tags","href":"/api-reference/workspaces/create-workspace-data-definition-tag"},{"title":"Get Workspace Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json get /v1/workspaces/{workspace_id}/data-definition-tags/{tag_id}","href":"/api-reference/workspaces/get-workspace-data-definition-tag"},{"title":"Delete Workspace Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json delete /v1/workspaces/{workspace_id}/data-definition-tags/{tag_id}","href":"/api-reference/workspaces/delete-workspace-data-definition-tag"},{"title":"Rename Workspace Data Definition Tag","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json patch /v1/workspaces/{workspace_id}/data-definition-tags/{tag_id}","href":"/api-reference/workspaces/rename-workspace-data-definition-tag"}]},{"group":"Organizations","pages":[{"title":"Query Organization Audit Logs","deprecated":null,"version":null,"openapi":"/openapi/platform.openapi.json post /v1/organizations/{organization_id}/audit-logs/query","href":"/api-reference/organizations/query-organization-audit-logs"}]}]}]}]},"basePath":"","title":"Import Events - Mixpanel","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C4GwDT3_.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}