Skip to content

Update any ticket (assign / status / severity / category)

PUT
/api/v1/admin/tickets/{ticketID}
curl --request PUT \
--url https://api.aetherplatform.cloud/api/v1/admin/tickets/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "severity": "low", "status": "open", "category": "cluster", "assigned_to": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'

Updates a ticket’s severity, status, category, or assigned_to without an org scope. All fields are optional; omitted fields are left unchanged. Uses the admin transition matrix, which additionally permits reopening a closed ticket (to open or in_progress); an illegal transition is rejected with 422 (invalid_transition). Requires the platform-admin realm role.

ticketID
required
string format: uuid

Support ticket UUID.

Media typeapplication/json

All fields are optional; omitted fields are left unchanged.

object
severity
string
Allowed values: low medium high critical
status

Must be a legal transition from the current status (closed is terminal in this phase). An illegal move returns 422 with code invalid_transition.

string
Allowed values: open in_progress waiting resolved closed
category
string
Allowed values: cluster networking storage identity billing feature_request general
assigned_to
string format: uuid

The updated ticket.

Media typeapplication/json
object
id
required
string format: uuid
org_id
required
string format: uuid
cluster_id

Optional cluster this ticket concerns.

string | null format: uuid
subject
required
string
category
required
string
Allowed values: cluster networking storage identity billing feature_request general
severity
required
string
Allowed values: low medium high critical
status
required
string
Allowed values: open in_progress waiting resolved closed
created_by

JWT subject of the opener; null for API-token requests.

string | null format: uuid
assigned_to
string | null format: uuid
first_response_at

Set when the first provider message is posted.

string | null format: date-time
resolved_at

Set when the ticket enters resolved; cleared only when a resolved ticket is reopened (to open/in_progress); preserved on close.

string | null format: date-time
created_at
required
string format: date-time
updated_at
required
string format: date-time
Example
{
"category": "cluster",
"severity": "low",
"status": "open"
}

Missing or invalid credentials.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

The credential was accepted but lacks the required role or access (e.g. a non-platform-admin calling an /api/v1/admin endpoint).

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

The requested resource was not found.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}

Request validation failed.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}