Mixpanel Lexicon Schemas API
API for syncing your internal data dictionary or tracking plan with Mixpanel using schemas, allowing you to create, replace, retrieve, and delete schema definitions that describe the data you send to Mixpanel.
API for syncing your internal data dictionary or tracking plan with Mixpanel using schemas, allowing you to create, replace, retrieve, and delete schema definitions that describe the data you send to Mixpanel.
openapi: 3.1.0
info:
title: Mixpanel Lexicon Schemas API
description: >-
API for syncing your internal data dictionary or tracking plan with
Mixpanel using schemas, allowing you to create, replace, retrieve,
and delete schema definitions that describe the data you send to Mixpanel.
version: '1.0'
contact:
name: Mixpanel Support
email: support@mixpanel.com
url: https://mixpanel.com/get-support
termsOfService: https://mixpanel.com/legal/terms-of-use
externalDocs:
description: Mixpanel Lexicon Schemas API Documentation
url: https://developer.mixpanel.com/reference/lexicon-schemas-api
servers:
- url: https://mixpanel.com/api/app
description: Mixpanel US Data Residency
- url: https://eu.mixpanel.com/api/app
description: Mixpanel EU Data Residency
tags:
- name: Schemas
description: Manage Lexicon schema definitions
security:
- basicAuth: []
paths:
/projects/{projectId}/schemas:
get:
operationId: listSchemas
summary: Mixpanel List schemas
description: >-
Retrieve all schema definitions for the project including
event schemas, profile property schemas, and group schemas.
tags:
- Schemas
parameters:
- $ref: '#/components/parameters/projectId'
- name: entityType
in: query
schema:
type: string
enum: [event, profile, group, lookup_table]
description: Filter schemas by entity type
responses:
'200':
description: List of schemas
content:
application/json:
schema:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/SchemaDefinition'
'401':
description: Unauthorized
'403':
description: Forbidden
put:
operationId: replaceSchemas
summary: Mixpanel Replace schemas
description: >-
Replace all schema definitions for the specified entity type.
This completely replaces existing schemas with the provided ones.
tags:
- Schemas
parameters:
- $ref: '#/components/parameters/projectId'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- entries
properties:
entries:
type: array
items:
$ref: '#/components/schemas/SchemaEntry'
truncate:
type: boolean
description: >-
When true, deletes schemas not included in the request.
When false, only adds or updates schemas.
responses:
'200':
description: Schemas replaced successfully
content:
application/json:
schema:
type: object
properties:
status:
type: string
'400':
description: Invalid schema definitions
'401':
description: Unauthorized
'403':
description: Forbidden
post:
operationId: createSchemas
summary: Mixpanel Create schemas
description: >-
Create new schema definitions or update existing ones without
removing schemas not included in the request.
tags:
- Schemas
parameters:
- $ref: '#/components/parameters/projectId'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- entries
properties:
entries:
type: array
items:
$ref: '#/components/schemas/SchemaEntry'
responses:
'200':
description: Schemas created successfully
content:
application/json:
schema:
type: object
properties:
status:
type: string
'400':
description: Invalid schema definitions
'401':
description: Unauthorized
delete:
operationId: deleteSchemas
summary: Mixpanel Delete schemas
description: >-
Delete specific schema definitions from the project.
tags:
- Schemas
parameters:
- $ref: '#/components/parameters/projectId'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- entries
properties:
entries:
type: array
items:
type: object
required:
- entityType
- name
properties:
entityType:
type: string
enum: [event, profile, group, lookup_table]
name:
type: string
description: Name of the schema to delete
responses:
'200':
description: Schemas deleted successfully
'401':
description: Unauthorized
'404':
description: Schema not found
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: >-
Service account credentials for API authentication.
parameters:
projectId:
name: projectId
in: path
required: true
schema:
type: integer
description: The Mixpanel project ID
schemas:
SchemaDefinition:
type: object
properties:
entityType:
type: string
enum: [event, profile, group, lookup_table]
description: The type of entity this schema describes
name:
type: string
description: Name of the event or property
description:
type: string
description: Human-readable description
isHidden:
type: boolean
description: Whether this schema is hidden in the UI
isDropped:
type: boolean
description: Whether events matching this schema should be dropped
properties:
type: object
additionalProperties:
$ref: '#/components/schemas/PropertySchema'
description: Property definitions for this schema
SchemaEntry:
type: object
required:
- entityType
- name
properties:
entityType:
type: string
enum: [event, profile, group, lookup_table]
description: The entity type
name:
type: string
description: Event or property name
description:
type: string
description: Human-readable description
isHidden:
type: boolean
description: Whether to hide in the UI
isDropped:
type: boolean
description: Whether to drop matching events
properties:
type: object
additionalProperties:
$ref: '#/components/schemas/PropertySchema'
description: Property definitions
PropertySchema:
type: object
properties:
type:
type: string
enum: [string, number, boolean, datetime, list, object]
description: Data type of the property
description:
type: string
description: Description of the property
required:
type: boolean
description: Whether the property is required
isHidden:
type: boolean
description: Whether to hide this property in the UI