Categories
Ticket categories and subcategories.
| Method | Path | Summary |
|---|---|---|
| GET | /v1/app/psa/categories | List categories (flat, with parent_id) |
| POST | /v1/app/psa/categories | Create category |
| POST | /v1/app/psa/categories/:id | Update category |
| POST | /v1/app/psa/categories/:id/delete | Delete category |
#List categories (flat, with parent_id)
GET
/v1/app/psa/categories- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/categories- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Query parameters
| Name | Type | Description |
|---|---|---|
queue_id | integer |
Response 200
| Field | Type | Description |
|---|---|---|
categories | array of any |
Example response
JSON
{
"categories": []
}Example request
Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/categories', {
method: 'GET',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/categories",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method GET -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories' -Headers $headers#Create category
POST
/v1/app/psa/categories- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/categories- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Request body JSON
| Name | Type | Description |
|---|---|---|
namerequired | string | |
parent_id | integer |
Response 200
| Field | Type | Description |
|---|---|---|
category | object | |
category.id | integer | |
category.tenant_id | integer | |
category.parent_id | integer, or null | |
category.name | string | |
category.created_at | string (date-time), or null |
Example response
JSON
{
"category": {
"id": 42,
"tenant_id": 1,
"parent_id": 7,
"name": "Example name",
"created_at": "2026-11-12T09:30:00.000Z"
}
}Errors
| Status | Message |
|---|---|
| 400 | name is required |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Example name","parent_id":7}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/categories', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Example name","parent_id":7}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/categories",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"name":"Example name","parent_id":7},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"name":"Example name","parent_id":7}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories' -Headers $headers -ContentType 'application/json' -Body $body#Update category
POST
/v1/app/psa/categories/:id- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/:id- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
name | string | |
parent_id | integer |
Response 200
| Field | Type | Description |
|---|---|---|
category | object | |
category.id | integer | |
category.tenant_id | integer | |
category.parent_id | integer, or null | |
category.name | string | |
category.created_at | string (date-time), or null |
Example response
JSON
{
"category": {
"id": 42,
"tenant_id": 1,
"parent_id": 7,
"name": "Example name",
"created_at": "2026-11-12T09:30:00.000Z"
}
}Errors
| Status | Message |
|---|---|
| 404 | Category not found |
Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42' \
-H "X-API-Key: $BRAMBLE_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Example name","parent_id":7}'JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({"name":"Example name","parent_id":7}),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
json={"name":"Example name","parent_id":7},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
$body = '{"name":"Example name","parent_id":7}'
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42' -Headers $headers -ContentType 'application/json' -Body $body#Delete category
POST
/v1/app/psa/categories/:id/delete- Address
https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/:id/delete- Requires
- Signed-in session,
X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: PSA.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
success | boolean |
Example response
JSON
{
"success": true
}Example request
Bash
curl -X POST 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42/delete' \
-H "X-API-Key: $BRAMBLE_KEY"JavaScript
const res = await fetch('https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42/delete', {
method: 'POST',
headers: { 'X-API-Key': process.env.BRAMBLE_KEY },
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42/delete",
headers={"X-API-Key": os.environ["BRAMBLE_KEY"]},
)
r.raise_for_status()
data = r.json()PowerShell
$headers = @{ 'X-API-Key' = $env:BRAMBLE_KEY }
Invoke-RestMethod -Method POST -Uri 'https://<your-org>.brambleit.cloud/api/v1/app/psa/categories/42/delete' -Headers $headersWas this page helpful?
Thanks for your feedback.