Amplitude Taxonomy API

The Amplitude Taxonomy API provides programmatic management of your analytics tracking plan. It supports creating, reading, updating, and deleting event categories, event types, event properties, and user properties. This API is essential for data governance workflows, enabling teams to maintain a consistent and well-organized event taxonomy across their instrumentation without needing to use the Amplitude UI directly.

OpenAPI Specification

amplitude-taxonomy-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amplitude Taxonomy API
  description: >-
    The Amplitude Taxonomy API provides programmatic management of your
    analytics tracking plan. It supports creating, reading, updating, and
    deleting event categories, event types, event properties, and user
    properties. This API is essential for data governance workflows, enabling
    teams to maintain a consistent and well-organized event taxonomy across
    their instrumentation without needing to use the Amplitude UI directly.
  version: '2'
  contact:
    name: Amplitude Support
    url: https://amplitude.com/contact
  termsOfService: https://amplitude.com/terms
externalDocs:
  description: Amplitude Taxonomy API Documentation
  url: https://amplitude.com/docs/apis/analytics/taxonomy
servers:
- url: https://amplitude.com
  description: Amplitude Production Server
tags:
- name: Event Categories
  description: Operations for managing event categories
- name: Event Properties
  description: Operations for managing event properties
- name: Event Types
  description: Operations for managing event types
- name: User Properties
  description: Operations for managing user properties
security:
- basicAuth: []
paths:
  /api/2/taxonomy/category:
    get:
      operationId: listEventCategories
      summary: Amplitude List All Event Categories
      description: >-
        Retrieve all event categories in the project. Categories help organize
        event types into logical groups for easier data governance.
      tags:
      - Event Categories
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CategoryListResponse'
              examples:
                listEventCategories200Example:
                  summary: Default listEventCategories 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example_value
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEventCategory
      summary: Amplitude Create an Event Category
      description: >-
        Create a new event category to organize event types into logical groups.
      tags:
      - Event Categories
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - category_name
              properties:
                category_name:
                  type: string
                  description: >-
                    The name of the event category.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                createEventCategory200Example:
                  summary: Default createEventCategory 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '409':
          description: Category already exists
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/category/{category_id}:
    get:
      operationId: getEventCategory
      summary: Amplitude Get an Event Category
      description: >-
        Retrieve a single event category by its ID.
      tags:
      - Event Categories
      parameters:
      - $ref: '#/components/parameters/categoryId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Category'
              examples:
                getEventCategory200Example:
                  summary: Default getEventCategory 200 response
                  x-microcks-default: true
                  value:
                    id: 100
                    name: Example Name
        '401':
          description: Unauthorized
        '404':
          description: Category not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateEventCategory
      summary: Amplitude Update an Event Category
      description: >-
        Update the name of an existing event category.
      tags:
      - Event Categories
      parameters:
      - $ref: '#/components/parameters/categoryId'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - category_name
              properties:
                category_name:
                  type: string
                  description: >-
                    The new name for the event category.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                updateEventCategory200Example:
                  summary: Default updateEventCategory 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: Category not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteEventCategory
      summary: Amplitude Delete an Event Category
      description: >-
        Delete an event category. Event types previously assigned to this
        category will become uncategorized.
      tags:
      - Event Categories
      parameters:
      - $ref: '#/components/parameters/categoryId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                deleteEventCategory200Example:
                  summary: Default deleteEventCategory 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: Category not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/event:
    get:
      operationId: listEventTypes
      summary: Amplitude List All Event Types
      description: >-
        Retrieve all event types in the project. Optionally include deleted
        event types using the showDeleted parameter.
      tags:
      - Event Types
      parameters:
      - name: showDeleted
        in: query
        description: >-
          When true, include deleted event types in the response.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventTypeListResponse'
              examples:
                listEventTypes200Example:
                  summary: Default listEventTypes 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example_value
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEventType
      summary: Amplitude Create an Event Type
      description: >-
        Create a new event type in the tracking plan. This is for planning
        purposes and does not affect event ingestion.
      tags:
      - Event Types
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - event_type
              properties:
                event_type:
                  type: string
                  description: >-
                    The name of the event type.
                category:
                  type: string
                  description: >-
                    The category to assign the event type to.
                description:
                  type: string
                  description: >-
                    A description of the event type.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                createEventType200Example:
                  summary: Default createEventType 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '409':
          description: Event type already exists
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/event/{event_type}:
    get:
      operationId: getEventType
      summary: Amplitude Get an Event Type
      description: >-
        Retrieve a single event type by its name.
      tags:
      - Event Types
      parameters:
      - $ref: '#/components/parameters/eventType'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventType'
              examples:
                getEventType200Example:
                  summary: Default getEventType 200 response
                  x-microcks-default: true
                  value:
                    event_type: standard
                    category:
                      id: {}
                      name: {}
                    description: Example description text
        '401':
          description: Unauthorized
        '404':
          description: Event type not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateEventType
      summary: Amplitude Update an Event Type
      description: >-
        Update an existing event type's metadata such as description or
        category assignment.
      tags:
      - Event Types
      parameters:
      - $ref: '#/components/parameters/eventType'
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                new_event_type:
                  type: string
                  description: >-
                    The new name for the event type.
                category:
                  type: string
                  description: >-
                    The category to assign the event type to.
                description:
                  type: string
                  description: >-
                    An updated description of the event type.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                updateEventType200Example:
                  summary: Default updateEventType 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: Event type not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteEventType
      summary: Amplitude Delete an Event Type
      description: >-
        Delete a planned event type. This is intended for removing event
        types that have not yet received data. Deleting an event type that
        has received data does not remove the data.
      tags:
      - Event Types
      parameters:
      - $ref: '#/components/parameters/eventType'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                deleteEventType200Example:
                  summary: Default deleteEventType 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: Event type not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/event-property:
    get:
      operationId: listEventProperties
      summary: Amplitude List All Event Properties
      description: >-
        Retrieve all event properties for a given event type in the project.
      tags:
      - Event Properties
      parameters:
      - name: event_type
        in: query
        required: true
        description: >-
          The event type to list properties for.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventPropertyListResponse'
              examples:
                listEventProperties200Example:
                  summary: Default listEventProperties 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example_value
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createEventProperty
      summary: Amplitude Create an Event Property
      description: >-
        Create a new event property in the tracking plan for a specific
        event type.
      tags:
      - Event Properties
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - event_type
              - event_property
              properties:
                event_type:
                  type: string
                  description: >-
                    The event type this property belongs to.
                event_property:
                  type: string
                  description: >-
                    The name of the event property.
                description:
                  type: string
                  description: >-
                    A description of the event property.
                type:
                  type: string
                  description: >-
                    The data type of the property.
                  enum:
                  - string
                  - number
                  - boolean
                  - enum
                  - any
                is_required:
                  type: boolean
                  description: >-
                    Whether the property is required.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                createEventProperty200Example:
                  summary: Default createEventProperty 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '409':
          description: Event property already exists
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/event-property/{event_property}:
    get:
      operationId: getEventProperty
      summary: Amplitude Get an Event Property
      description: >-
        Retrieve a single event property by its name for a given event type.
      tags:
      - Event Properties
      parameters:
      - name: event_property
        in: path
        required: true
        description: >-
          The name of the event property.
        schema:
          type: string
      - name: event_type
        in: query
        required: true
        description: >-
          The event type the property belongs to.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventProperty'
              examples:
                getEventProperty200Example:
                  summary: Default getEventProperty 200 response
                  x-microcks-default: true
                  value:
                    event_property: example_value
                    event_type: standard
                    description: Example description text
                    type: standard
                    is_required: true
        '401':
          description: Unauthorized
        '404':
          description: Event property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateEventProperty
      summary: Amplitude Update an Event Property
      description: >-
        Update an existing event property's metadata.
      tags:
      - Event Properties
      parameters:
      - name: event_property
        in: path
        required: true
        description: >-
          The name of the event property to update.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - event_type
              properties:
                event_type:
                  type: string
                  description: >-
                    The event type this property belongs to.
                description:
                  type: string
                  description: >-
                    An updated description of the event property.
                new_event_property:
                  type: string
                  description: >-
                    A new name for the event property.
                type:
                  type: string
                  description: >-
                    The data type of the property.
                  enum:
                  - string
                  - number
                  - boolean
                  - enum
                  - any
                is_required:
                  type: boolean
                  description: >-
                    Whether the property is required.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                updateEventProperty200Example:
                  summary: Default updateEventProperty 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: Event property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteEventProperty
      summary: Amplitude Delete an Event Property
      description: >-
        Delete a planned event property. This is intended for properties
        that have not yet received data.
      tags:
      - Event Properties
      parameters:
      - name: event_property
        in: path
        required: true
        description: >-
          The name of the event property to delete.
        schema:
          type: string
      - name: event_type
        in: query
        required: true
        description: >-
          The event type the property belongs to.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                deleteEventProperty200Example:
                  summary: Default deleteEventProperty 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: Event property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/user-property:
    get:
      operationId: listUserProperties
      summary: Amplitude List All User Properties
      description: >-
        Retrieve all user properties in the project. Optionally include
        deleted user properties.
      tags:
      - User Properties
      parameters:
      - name: showDeleted
        in: query
        description: >-
          When true, include deleted user properties in the response.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserPropertyListResponse'
              examples:
                listUserProperties200Example:
                  summary: Default listUserProperties 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - example_value
        '401':
          description: Unauthorized
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createUserProperty
      summary: Amplitude Create a User Property
      description: >-
        Create a new user property in the tracking plan.
      tags:
      - User Properties
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - user_property
              properties:
                user_property:
                  type: string
                  description: >-
                    The name of the user property.
                description:
                  type: string
                  description: >-
                    A description of the user property.
                type:
                  type: string
                  description: >-
                    The data type of the property.
                  enum:
                  - string
                  - number
                  - boolean
                  - enum
                  - any
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                createUserProperty200Example:
                  summary: Default createUserProperty 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '409':
          description: User property already exists
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/2/taxonomy/user-property/{user_property}:
    get:
      operationId: getUserProperty
      summary: Amplitude Get a User Property
      description: >-
        Retrieve a single user property by its name.
      tags:
      - User Properties
      parameters:
      - name: user_property
        in: path
        required: true
        description: >-
          The name of the user property.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserProperty'
              examples:
                getUserProperty200Example:
                  summary: Default getUserProperty 200 response
                  x-microcks-default: true
                  value:
                    user_property: example_value
                    description: Example description text
                    type: standard
        '401':
          description: Unauthorized
        '404':
          description: User property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateUserProperty
      summary: Amplitude Update a User Property
      description: >-
        Update an existing user property's metadata.
      tags:
      - User Properties
      parameters:
      - name: user_property
        in: path
        required: true
        description: >-
          The name of the user property to update.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                description:
                  type: string
                  description: >-
                    An updated description of the user property.
                new_user_property:
                  type: string
                  description: >-
                    A new name for the user property.
                type:
                  type: string
                  description: >-
                    The data type of the property.
                  enum:
                  - string
                  - number
                  - boolean
                  - enum
                  - any
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                updateUserProperty200Example:
                  summary: Default updateUserProperty 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: User property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteUserProperty
      summary: Amplitude Delete a User Property
      description: >-
        Delete a planned user property. This is intended for properties that
        have not yet received data.
      tags:
      - User Properties
      parameters:
      - name: user_property
        in: path
        required: true
        description: >-
          The name of the user property to delete.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
              examples:
                deleteUserProperty200Example:
                  summary: Default deleteUserProperty 200 response
                  x-microcks-default: true
                  value:
                    success: true
        '401':
          description: Unauthorized
        '404':
          description: User property not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Use your Amplitude API key as the username and your secret key as the
        password. Encode them as base64 in the format api_key:secret_key.
  parameters:
    categoryId:
      name: category_id
      in: path
      required: true
      description: >-
        The ID of the event category.
      schema:
        type: integer
    eventType:
      name: event_type
      in: path
      required: true
      description: >-
        The name of the event type.
      schema:
        type: string
  schemas:
    SuccessResponse:
      type: object
      properties:
        success:
          type: boolean
          description: >-
            Whether the operation was successful.
    CategoryListResponse:
      type: object
      properties:
        data:
          type: array
          description: >-
            Array of event categories.
          items:
            $ref: '#/components/schemas/Category'
    Category:
      type: object
      properties:
        id:
          type: integer
          description: >-
            The unique identifier of the category.
        name:
          type: string
          description: >-
            The name of the category.
    EventTypeListResponse:
      type: object
      properties:
        data:
          type: array
          description: >-
            Array of event types.
          items:
            $ref: '#/components/schemas/EventType'
    EventType:
      type: object
      properties:
        event_type:
          type: string
          description: >-
            The name of the event type.
        category:
          $ref: '#/components/schemas/Category'
        description:
          type: string
          description: >-
            A description of the event type.
    EventPropertyListResponse:
      type: object
      properties:
        data:
          type: array
          description: >-
            Array of event properties.
          items:
            $ref: '#/components/schemas/EventProperty'
    EventProperty:
      type: object
      properties:
        event_property:
          type: string
          description: >-
            The name of the event property.
        event_type:
          type: string
          description: >-
            The event type this property belongs to.
        description:
          type: string
          description: >-
            A description of the event property.
        type:
          type: string
          description: >-
            The data type of the property.
        is_required:
          type: boolean
          description: >-
            Whether the property is required.
    UserPropertyListResponse:
      type: object
      properties:
        data:
          type: array
          description: >-
            Array of user properties.
          items:
            $ref: '#/components/schemas/UserProperty'
    UserProperty:
      type: object
      properties:
        user_property:
          type: string
          description: >-
            The name of the user property.
        description:
          type: string
          description: >-
            A description of the user property.
        type:
          type: string
          description: >-
            The data type of the property.