---
title: "Upsert a taxonomy term"
method: POST
path: "/taxonomies"
tags: ["Taxonomies"]
---

# Upsert a taxonomy term

`POST /taxonomies`

## Request

- Base URL: `https://api.savanto.ai`
- URL: `https://api.savanto.ai/taxonomies`
- Auth: HTTP bearer

Create or update a taxonomy term by external ID.

## Request body

- TaxonomyInput
  - `id` string, required
  - `name` string, required
  - `slug` string, required
  - `taxonomyName` string, required
  - `description` string
  - `count` integer
  - `parent` integer
  - `meta` union
    - object
    - unknown[]
      - unknown
  - `source` string
  - `termId` integer
  - `taxonomyLabel` string
  - `hierarchy` string[]
  - `thumbnailUrl` string
  - `displayType` string
  - `isProductAttribute` boolean
  - `attributeType` string
  - `swatch` unknown
  - `type` string

## Response `200`

Taxonomy term upserted successfully

- object
  - `object` 'taxonomy', required
  - `requestId` string, required
  - `data` object, required
    - `id` string, required
    - `message` string, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `413`: Payload too large
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/savanto/apis/savanto-api.md) · [All operations](https://skmtc.dev/savanto/apis/savanto-api/llms.txt) · [OpenAPI document](https://skmtc.dev/savanto/apis/savanto-api/revisions/82437327a878?raw)
