On this page

Taxonomy API

Regions

The base URL depends on your project's data residency. In all examples on this page, use the default base URL unless your project uses Amplitude's EU data center—in that case use the EU base URL in this table.

Requests go to https://amplitude.com (default) or https://analytics.eu.amplitude.com (EU). The https://analytics.amplitude.com hostname is the Analytics web app (browser UI); use the hosts in this table for REST requests, not analytics.amplitude.com.

Considerations

  • You may have to URL encode special characters in the names of event types, event properties, and user properties. For example, encode Play Song as Play%20Song. Refer to the W3Schools encoding reference.
  • In responses, custom user properties have a gp: prefix. For example, gp:my_custom_property.
  • You must plan events or properties in the schema before you can delete them through this API.

Limits

Each endpoint has a concurrent limit and a rate limit. The concurrent limit restricts how many requests you can run at the same time. The rate limit restricts the total number of queries per hour.

Limits are per project. Exceeding any limit returns a 429 error.

The endpoints use a cost per query model. Max costs per API key:

  • Concurrent Cost Limit: Run queries that collectively add up to 4 cost at the same time.
  • Period Cost Limit: Run up to 7200 cost per hour.

Cost structure of each endpoint:

  • GET: 1 cost
  • PUT: 2 cost
  • POST: 2 cost
  • DELETE: 2 cost

Event category

Event categories are a way to organize your event types into broad groups.

To track how users register for your app, checkout, and interact with the onboarding experience, group your events using these event categories:

  • Registration
  • Checkout
  • Onboarding

Create event category

Create an event category in your project.

POST /api/2/taxonomy/category

curl
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/category' \
--header 'Authorization: Basic {api-key}:{secret-key}' \ #credentials must be base64 encoded
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'category_name=CATEGORY_NAME'

Body parameters

Response

A successful request returns a 200 OK response with a JSON body:

json
{
  "success": true
}

A failed request sends an error message with more information:

json
{
  "success": false,
  "errors": [
    {
      "message": "error info"
    }
  ]
}

Get all event categories

Get all event categories in your project.

GET https://amplitude.com/api/2/taxonomy/category

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/category' \
-u '{api_key}:{secret_key}'

Response

A successful request returns a 200 OK status with a JSON body:

json
{
  "success": true,
  "data": [
    {
      "id": 412931,
      "name": "Attribution"
    },
    {
      "id": 412941,
      "name": "Conversion"
    }
  ]
}

A failed request returns a 400 Bad Request response with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Get an event category

Get the ID of an event category in your project by sending a GET request with the category name.

GET https://amplitude.com/api/2/taxonomy/category/:category_name

curl
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/category/:category_name' \
-u '{api_key}:{secret_key}'

Path parameters

Response

A successful request returns a 200 OK status and a JSON body with the category's data:

json
{
  "success": true,
  "data": {
    "id": 412941,
    "name": "Conversion"
  }
}

A failed request returns a 400 Bad Request status with more information about the error.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Update an event category

Update the name of an event category by sending a PUT request with the category ID and a new name in the body.

PUT https://amplitude.com/api/2/taxonomy/category/:category_id

curl
curl --location --request PUT 'https://amplitude.com/api/2/taxonomy/category/CATEGORY_ID' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'category_name=NEW_NAME'

Path parameters

Body parameters

200 ok response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

If there is a problem with your request, the request returns a 409 Conflict status, and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to operate on entity event_category, id \"4129\", that does not exist."
    }
  ]
}

Delete an event category

Delete an event category by sending a DELETE request with the category ID.

DELETE https://amplitude.com/api/2/taxonomy/category/:category_id

bash
curl --location --request DELETE 'https://amplitude.com/api/2/taxonomy/category/:category_id' \
-u '{api_key}:{secret_key}'

Path parameters

200 ok response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

If there is a problem with your request, the request returns a 409 Conflict status, and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to operate on entity event_category, id \"412941\", that does not exist."
    }
  ]
}

Event type

An event is any action a user can take, like start game or add to cart, or any activity associated with a user, like in-app notifications or push notifications.

Use the Taxonomy API to create, get, update, delete, and restore event types.

Create an event type

Create an event type by sending a POST request to https://amplitude.com/api/2/taxonomy/event with parameters in the body.

Initialize the schema before you add event types through the API.

bash
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/event' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'event_type=EVENT_TYPE' \
--data-urlencode 'category=CATEGORY_NAME' \
--data-urlencode 'description=DESCRIPTION'

Body parameters

is_hidden_from_dropdowns, is_hidden_from_persona_results, is_hidden_from_pathfinder and is_hidden_from_timeline properties can only be set on ingested event types.

200 ok response

A successful request returns a 200 OK response with a JSON body:

json
{
  "success": true
}

409 conflict response

A failed request returns a 409 Conflict status with an error message.

json
{
  "success": false,
  "errors": [
    {
      "message": "error info"
    }
  ]
}

Get all event types

Retrieves all event types in a project. This request has no required parameters.

GET https://amplitude.com/api/2/taxonomy/event

Hidden events (those with a visibility other than "Visible") don't appear in the response.

By default, the response excludes deleted events. To include them, add the showDeleted query parameter:

GET https://amplitude.com/api/2/taxonomy/event?showDeleted=true

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/event' \
-u '{api_key}:{secret_key}'

200 OK response

A successful request returns a 200 OK status with a JSON body:

json
{
  "success": true,
  "data": [
    {
      "event_type": "Attribution",
      "category": {
        "name": "Attribution Events"
      },
      "description": null,
      "display_name": null,
      "is_active": false,
      "is_hidden_from_dropdowns": false,
      "is_hidden_from_persona_results": false,
      "is_hidden_from_pathfinder": false,
      "is_hidden_from_timeline": false,
      "tags": [],
      "owner": null
    },
    {
      "event_type": "Conversation",
      "category": {
        "name": "Conversion Events"
      },
      "description": "This event is fired when a user converts.",
      "display_name": "User Conversion",
      "is_active": false,
      "is_hidden_from_dropdowns": false,
      "is_hidden_from_persona_results": false,
      "is_hidden_from_pathfinder": false,
      "is_hidden_from_timeline": false,
      "tags": [],
      "owner": null
    }
  ]
}

Get an event type

Get a single event type by name. Send a GET request with the event name.

GET https://amplitude.com/api/2/taxonomy/event/:event_type

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/event:event_type' \
-u '{api_key}:{secret_key}'

Path parameters

200 OK response

A successful request returns a 200 OK status and a JSON body with the event type's data:

json
{
  "success": true,
  "data": {
    "event_type": "Event 2",
    "category": {
      "name": "Conversion Events"
    },
    "description": null,
    "display_name": null,
    "is_active": false,
    "is_hidden_from_dropdowns": false,
    "is_hidden_from_persona_results": false,
    "is_hidden_from_pathfinder": false,
    "is_hidden_from_timeline": false,
    "tags": [],
    "owner": null
  }
}

400 Bad Request response

A failed request returns a 400 Bad Request status with more information about the error.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Update an event type

Update an event type by sending a PUT request with the event type name.

PUT https://amplitude.com/api/2/taxonomy/event/:event_type

bash
curl --location --request PUT 'https://amplitude.com/api/2/taxonomy/event/EVENT_TYPE_NAME' \
-u '{api_key}:{secret_key}'
--data-urlencode 'category=NEW_CATEGORY_NAME' \
--data-urlencode 'display_name=NEW_EVENT_TYPE_DISPLAY_NAME'

Path parameters

Body parameters

is_hidden_from_dropdowns, is_hidden_from_persona_results, is_hidden_from_pathfinder and is_hidden_from_timeline properties can only be set on ingested event types.

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

If there is a problem with your request, the request returns a 409 Conflict status, and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to change the event display name for event \"Event\", but the event is not in schema."
    }
  ]
}

Delete an event type

Delete an event type by sending a DELETE request with the event type name as a path parameter.

DELETE https://amplitude.com/api/2/taxonomy/event/:event_type

bash
curl --location --request DELETE 'https://amplitude.com/api/2/taxonomy/event/EVENT_TYPE'
-u '{api_key}:{secret_key}'

Path parameters

Behavior

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

4XX responses

If there's a problem with the request, Amplitude returns a 4XX status, and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Restore an event type

Restore an event type by sending a POST request with the event type name as a path parameter.

POST https://amplitude.com/api/2/taxonomy/event/:event_type/restore

bash
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/event/EVENT_TYPE/restore'
-u '{api_key}:{secret_key}'

Path parameters

Behavior

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

4XX responses

If there's a problem with your request, Amplitude returns a 4XX status, and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Event property

Event properties describe the attributes of an event. For example, if Swipe is an event that you track, the event property Direction could have the values Left or Right.

Create an event property

Create an event property by sending a POST request with the required information in the body.

POST https://amplitude.com/api/2/taxonomy/event-property

bash
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/event-property' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'event_type=EVENT_TYPE' \
--data-urlencode 'event_property=EVENT_PROPERTY' \

Body parameters

is_hidden property can only be set on ingested properties.

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

If there is a problem with your request, the request returns a 409 Conflict status, and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to add an event property, \"Completed Task\" for event \"Onboard Start\", that already exists."
    }
  ]
}

Get event properties

Get shared or event-specific event properties.

GET https://amplitude.com/api/2/taxonomy/event-property

bash

curl --location --request GET 'https://amplitude.com/api/2/taxonomy/event-property' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'event_type=EVENT_NAME'

Body parameters

200 OK response

A successful request returns a 200 OK status and a JSON body with a list of event properties and their data.

json
{
  "success": true,
  "data": [
    {
      "event_property": "Completed Task",
      "event_type": "Onboard Start",
      "description": "User completed a task during onboarding.",
      "type": "boolean",
      "regex": null,
      "enum_values": null,
      "is_array_type": false,
      "is_required": false,
      "is_hidden": false,
      "classifications": ["PII"]
    },
    {
      "event_property": "Completed Tutorial",
      "event_type": "Onboard Start",
      "description": "",
      "type": "any",
      "regex": null,
      "enum_values": null,
      "is_array_type": false,
      "is_required": false,
      "is_hidden": false,
      "classifications": []
    }
  ]
}

Get a single event property

Get a single event property. Send a GET request with the event property name as a path parameter and, optionally, the event name in the body.

GET https://amplitude.com/api/2/taxonomy/event-property

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/event-property?event_property=EVENT_PROPERTY' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'event_type=EVENT_NAME'

Path parameters

Body parameter

200 OK response

A successful request returns a 200 OK status and a JSON body containing information about the event property.

json
{
  "success": true,
  "data": {
    "event_property": "Shared",
    "event_type": "Onboard Finish",
    "description": "Whether user shared content.",
    "type": "boolean",
    "regex": null,
    "enum_values": null,
    "is_array_type": false,
    "is_required": false,
    "is_hidden": false,
    "classifications": ["PII"]
  }
}

400 Bad Request response

If Amplitude can't find the event property, or you configure the request incorrectly, it returns a 400 Bad Request response and an error message.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Update event property

Update an event property by sending a PUT request with the event property name as a path parameter.

PUT https://amplitude.com/api/2/taxonomy/event-property/:event-property

bash
curl --location --request PUT 'https://amplitude.com/api/2/taxonomy/event-property/EVENT_PROPERTY' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'event_type=EVENT_NAME' \

Path parameters

Body parameters

is_hidden property can only be set on ingested properties.

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

Some failed requests return a 409 Conflict and an error message with more details.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to change the event property description for property \"Completed Task\" for event \"\", but the property is not in schema."
    }
  ]
}

Delete an event property

Delete an event property by sending a DELETE request with the event property as a path parameter. Optionally include the event type in the request body.

DELETE https://amplitude.com/api/2/taxonomy/event-property/:event-property

bash
curl --location --request DELETE 'https://amplitude.com/api/2/taxonomy/event-property/EVENT_PROPERTY' \
--header 'Authorization: Basic {api-key}:{secret-key}' # credentials must be base64 encoded \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'event_type=EVENT_NAME'

Path parameters

Body parameter

Behavior

If the event type is available:

If the event type isn't available, Amplitude operates on the global event property.

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

Restore an event property

Restore an event property by sending a POST request with the event property as a path parameter.

POST https://amplitude.com/api/2/taxonomy/event-property/:event-property/restore

bash
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/event-property/EVENT_PROPERTY/restore' \
--header 'Authorization: Basic {api-key}:{secret-key}' # credentials must be base64 encoded

Path parameters

Body parameters

Behavior

Deleted properties and the GET endpoint

The Get event properties endpoint doesn't return deleted properties. If you try to create an event property that exists but is deleted, the Create event property endpoint returns a 409 Conflict error indicating the property already exists. To work with deleted properties:

  • Use the restore endpoint to restore a deleted property.
  • Check for 409 Conflict errors when creating properties. The error may indicate the property exists but is deleted.

201 OK response

A successful request returns a 201 OK status and a JSON body.

json
{
  "success": true
}

User property

User properties reflect traits about the individuals using your product.

Create a user property

Create a user property by sending a POST request with the user property name in the body.

POST https://amplitude.com/api/2/taxonomy/user-property/

bash

curl --location --request POST 'https://amplitude.com/api/2/taxonomy/user-property' \
--header 'Authorization: Basic {api-key}:{secret-key}' # credentials must be base64 encoded \
--data-urlencode 'user_property=USER_PROPERTY' \

Body parameter

is_hidden property can only be set on ingested properties.

Response

This request returns either a true or false response.

json
{
  "success": true
}
json
{
  "success": false
}

Get all user properties

Retrieves all user properties in your account. The request has no required parameters.

GET https://amplitude.com/api/2/taxonomy/user-property

Hidden user properties (those with a visibility other than "Visible") don't appear in the response.

By default, this endpoint excludes deleted user properties. To include them, add the showDeleted query parameter:

GET https://amplitude.com/api/2/taxonomy/user-property?showDeleted=true

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/user-property' \
-u '{api_key}:{secret_key}''

Response

A successful request returns a 200 OK response and a JSON body with user property details.

json
{
  "success": true,
  "data": [
    {
      "user_property": "device_id",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": ["PII"],
      "deleted": false
    },
    {
      "user_property": "event_id",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    },
    {
      "user_property": "amplitude_id",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    },
    {
      "user_property": "location_lat",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    },
    {
      "user_property": "location_lng",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    },
    {
      "user_property": "server_upload_time",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    },
    {
      "user_property": "session_id",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    },
    {
      "user_property": "user_id",
      "description": null,
      "type": null,
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": [],
      "deleted": false
    }
  ]
}

Get a user property

Retrieves a single user property by name.

GET https://amplitude.com/api/2/taxonomy/user-property/:user_property

By default, this endpoint excludes deleted user properties. To include them, add the showDeleted query parameter:

GET https://amplitude.com/api/2/taxonomy/user-property/:user_property?showDeleted=true

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/user-property/USER_PROPERTY' \
-u '{api_key}:{secret_key}'

Path parameters

200 OK response

A successful request returns a 200 OK response and a JSON body with user property details.

json
{
  "success": true,
  "data": {
    "user_property": "device_id",
    "description": null,
    "type": null,
    "enum_values": null,
    "regex": null,
    "is_array_type": false,
    "is_hidden": false,
    "classifications": ["PII"],
    "deleted": false
  }
}

404 Bad Request response

A failed request returns a 404 Bad Request status and an error message.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

The Taxonomy API requires an Enterprise plan account. If your subscription doesn't qualify, the call results in a 404 Bad Request response.

Update a user property

Update a user property by sending a PUT request with the user property name as a path parameter.

PUT https://amplitude.com/api/2/taxonomy/user-property/:user_property

bash
curl --location --request PUT 'https://amplitude.com/api/2/taxonomy/user-property/USER_PROPERTY' \
-u '{api_key}:{secret_key}'
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'new_user_property_value=VALUE' \
--data-urlencode 'description=DESCRIPTION'

Path parameters

Body parameters

is_hidden property can only be set on ingested properties.

Response

This request returns either a true or false response.

json
{
  "success": true
}
json
{
  "success": false
}

Delete a user property

Deletes a single user property by name.

DELETE https://amplitude.com/api/2/taxonomy/user-property/USER_PROPERTY

bash
curl --location --request DELETE 'https://amplitude.com/api/2/taxonomy/user-property/USER_PROPERTY' \
-u '{api_key}:{secret_key}'

Path parameters

Behavior

200 OK response

A successful request returns a 200 OK response and a JSON message.

json
{
  "success": true
}

Restore a user property

Restore a single user property by name.

POST https://amplitude.com/api/2/taxonomy/user-property/USER_PROPERTY/restore

bash
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/user-property/USER_PROPERTY/restore' \
-u '{api_key}:{secret_key}'

Path parameters

Behavior

200 OK response

A successful request returns a 200 OK response and a JSON message.

json
{
  "success": true
}

Group property

Group properties are properties at the account level. Group properties apply to all users who belong to that account.

Create a group property

Create a group property by sending a POST request with the required information in the body.

POST https://amplitude.com/api/2/taxonomy/group-property

bash
curl --location --request POST 'https://amplitude.com/api/2/taxonomy/group-property' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'group_type=GROUP_TYPE' \
--data-urlencode 'group_property=GROUP_PROPERTY' \

Body parameters

is_hidden property can only be set on ingested properties.

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

If there's a problem with your request, the request returns a 409 Conflict status and a JSON body with more information.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to add a group property, \"Group Property 1\", that already exists."
    }
  ]
}

Get group properties

Get shared or group-specific group properties.

GET https://amplitude.com/api/2/taxonomy/group-property

bash

curl --location --request GET 'https://amplitude.com/api/2/taxonomy/group-property' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'group_type=GROUP_TYPE'

Body parameters

200 OK response

A successful request returns a 200 OK status and a JSON body with a list of group properties and their data.

json
{
  "success": true,
  "data": [
    {
      "group_type": "Group 1",
      "group_property": "grp:Group Property 1",
      "description": "First Group Property",
      "type": "string",
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": ["PII"]
    },
    {
      "group_type": "Group 1",
      "group_property": "grp:Group Property 2",
      "description": "Second Group Property",
      "type": "string",
      "enum_values": null,
      "regex": null,
      "is_array_type": false,
      "is_hidden": false,
      "classifications": []
    }
  ]
}

Get a single group property

Get a single group property by sending a GET request with the group property name as a path parameter. Optionally include the group type in the body.

GET https://amplitude.com/api/2/taxonomy/group-property/:group_property

bash
curl --location --request GET 'https://amplitude.com/api/2/taxonomy/group-property/GROUP_PROPERTY' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'group_type=GROUP_TYPE'

Path parameters

Query or Body parameter

200 OK response

A successful request returns a 200 OK status and a JSON body containing information about the group property.

json
{
  "success": true,
  "data": {
    "group_type": "Group 1",
    "group_property": "grp:Group Property 1",
    "description": "First Group Property",
    "type": "string",
    "enum_values": null,
    "regex": null,
    "is_array_type": false,
    "is_hidden": false,
    "classifications": ["PII"]
  }
}

400 Bad Request response

If Amplitude can't find the group property, or you configure the request incorrectly, it returns a 400 Bad Request response and an error message.

json
{
  "success": false,
  "errors": [
    {
      "message": "Not found"
    }
  ]
}

Update group property

Update a group property by sending a PUT request with the group property name as a path parameter.

PUT https://amplitude.com/api/2/taxonomy/group-property/:group_property

bash
curl --location --request PUT 'https://amplitude.com/api/2/taxonomy/group-property/GROUP_PROPERTY' \
-u '{api_key}:{secret_key}' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'group_type=GROUP_TYPE' \

Path parameters

Body parameters

is_hidden property can only be set on ingested properties.

200 OK response

A successful request returns a 200 OK status and a JSON body.

json
{
  "success": true
}

409 conflict response

Some failed requests return a 409 Conflict and an error message with more details.

json
{
  "success": false,
  "errors": [
    {
      "message": "Attempted to update classifications for an overridden group property, \"grp:Group Property 1\" on group type \"Group 1\". Call the Update API without the \"group_type\" parameter to update classifications of the shared property."
    }
  ]
}

Was this helpful?