Skip to main content
A 403 means Mixpanel recognized the request but refused it. Among the ingestion endpoints, only /track, /engage, and /groups return a 403.
/import does not return a 403. It responds with 200, 400, 401, 413, or 429. If you are debugging an /import failure, see 401 Unauthorized for credential problems.

What the Response Looks Like

This shape differs from the other ingestion errors: there is no code field.

403 Compared to 401

How to Fix It

Confirm the project token belongs to the project you intend to write to. See find your project token. Check the endpoint and host match your project’s data residency. EU and India projects use api-eu.mixpanel.com and api-in.mixpanel.com. Enable debug mode in your SDK to log the exact request being sent, including headers and payload. See debugging your implementation. If the request still fails with a 403 and the token is correct, contact support with the full request and response, minus the credentials.