Update Category
Writes the full editable state of a category. This is a replace, not a patch: every editable field is written as sent.
- Omitting
is_leaforshow_on_dashboardsets it tofalse. - Sending neither
image_urlnorimageclears the stored image. When both are sent, the uploaded file wins. - A category that already has children cannot be made a leaf, since that would strand them. Turning a leaf back into a branch is always allowed.
The parent, path, int_id, image_svg and tokenization_rules cannot be changed through the API.
Required permission: category:update
Request
PUT /v2/admin/categories/{category_id}
Parameters
| Name | Type | In | Description |
|---|---|---|---|
category_id | string | path | Required. Category id (24-character hex) |
Headers
| Name | Description |
|---|---|
Authorization | Required. Bearer <access_token> |
Content-Type | Required. multipart/form-data (set by your HTTP client together with the boundary) |
Body
| Field | Type | Required | Description |
|---|---|---|---|
name_en | string | Yes | English name |
name_tr | string | Yes | Turkish name |
is_leaf | boolean | No | true if the category holds tokenized assets instead of sub-categories. Omitted means false |
show_on_dashboard | boolean | No | Show the category on the dashboard. Omitted means false |
image_url | string | No | URL of an image you already host. Omitted (with no image) clears the stored image |
image | file | No | Image file, smaller than 2 MB. Requires image storage to be configured on the server |
Example
curl --request PUT \
--url '{{baseUrl}}/v2/admin/categories/6911a3c2e4b0f51d2c8a7e41' \
--header 'Authorization: Bearer <access_token>' \
--form 'name_en=Venture Capital Funds' \
--form 'name_tr=Girişim Sermayesi Fonları' \
--form 'is_leaf=true' \
--form 'show_on_dashboard=true' \
--form 'image_url=https://s3.tokenizationtr.com/categories/image/6911a3c2e4b0f51d2c8a7e41.png'
Response
200 OK with the updated category.
{
"id": "6911a3c2e4b0f51d2c8a7e41",
"parent_id": "667e9251ca818a2138ed4888",
"name": {
"en": "Venture Capital Funds",
"tr": "Girişim Sermayesi Fonları"
},
"path": "1.4.117",
"int_id": 117,
"image_svg": null,
"image_url": "https://s3.tokenizationtr.com/categories/image/6911a3c2e4b0f51d2c8a7e41.png",
"is_leaf": true,
"show_on_dashboard": true,
"created_at": "2026-11-09T10:15:42.318Z"
}
Response Fields
The category, in the shape described on Get Category.
Errors
| Status | Code | Description |
|---|---|---|
| 400 | 10015 | Validation failed (name_en or name_tr missing) — see details. Also returned when the image is 2 MB or larger, or when image upload is not configured on the server |
| 400 | 10016 | category_id is not a valid 24-character hex id |
| 400 | 10001 | Category not found or deleted (domain 4) |
| 400 | 10006 | The category has children and cannot be marked as a leaf (domain 4) |
See Errors for the error format and common codes.