Skip to content
The API may change between versions while TTX-Zone is 0.x.

Request leave

POST
/api/v1/ttx/{ttx_id}/leave-request
curl --request POST \
--url https://example.com/api/v1/ttx/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/leave-request \
--header 'Content-Type: application/json' \
--header 'X-CSRF-Token: <X-CSRF-Token>' \
--cookie ttx_access_token=<ttx_access_token> \
--data '{ "reason": "" }'

No role guard: the caller can only ever ask for their own Player row (keyed off their own user id); the service checks they hold one.

ttx_id
required
Ttx Id
string format: uuid
Media typeapplication/json
LeaveRequestCreate
object
reason
Reason
string
"" <= 500 characters

Successful Response

Media typeapplication/json
MyLeaveRequestRead

A Player’s own pending request to leave an exercise.

object
created_at
required
Created At
string format: date-time
id
required
Id
string format: uuid
organization_name
required
Organization Name
string
reason
required
Reason
string
ttx_id
required
Ttx Id
string format: uuid
ttx_name
required
Ttx Name
string

Example generated

{
"created_at": "2026-04-15T12:00:00Z",
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"organization_name": "example",
"reason": "example",
"ttx_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"ttx_name": "example"
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string

Example generated

{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}