Tags
Tags are short, free-form labels merchants use to organize products. A tag belongs to a single store and is referenced by its slug across the rest of the API. The Store API exposes the full create/read/update/delete surface for tags plus search and bulk operations.
Required scope
read_products. Write endpoints require write_products, which implicitly grants read.The tag object
Every tag response includes the canonical fields below. Bulk operations return arrays of the same shape; partial updates return only the fields that changed.
{
"id": "tag_01HW8M9ZAB7KE3R6FQXCD",
"store_id": "store_01HW6T7P3J7MK0V1Q5W8B",
"name": "Summer Sale",
"slug": "summer-sale",
"created_at": "2026-05-14T09:30:00Z",
"updated_at": "2026-05-14T09:30:00Z"
}Endpoints
The Tags resource exposes the following endpoints under the Store API base URL.
/api/v1/tags/api/v1/tags/:id/api/v1/tags/api/v1/tags/:id/api/v1/tags/:id/api/v1/tags/bulk/api/v1/tags/bulk/api/v1/tags/search/api/v1/tags/limitsQuick example
Create a tag with curl. Replace $TOKEN with a valid Store API token that has the write_products scope.
curl -X POST https://api.tringify.com/api/v1/tags \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Summer Sale"}'Response on success returns 201 Created with the tag envelope shown above. The slug is generated from the name if you don't supply one.
Slug case-sensitivity
MyTag and mytag collide.Errors
All Tag errors use the standard registered-code envelope. Common codes you should expect to handle:
tag_duplicate— name or slug collides with an existing tag in this store.tag_not_found— the requested ID does not exist (or belongs to another store).tag_name_invalid— the name failed validation (length, characters).tag_in_use— the tag is referenced by products and can't be deleted without confirmation.
