Remove a trainee

DELETE/api/public/trainees/{traineeId}

Remove a trainee from the coach account. This ends the active escort, cancels their upcoming meetings, unlinks their training plan and nutrition menu and deletes their gamification profile.

The trainee is archived rather than erased: their account, history and measurements are kept, they stop counting against your trainee limit, and they disappear from GET /trainees and from GET /trainees/{traineeId}, which answers 403 for them afterwards. List archived trainees with GET /trainees?status=archived and bring one back with POST /trainees/{traineeId}/restore.

Authentication

Requires an API key, sent as Authorization: Bearer cp_live_....

API keys carry scopes. Get the catalog of scopes and webhook events lists every scope.

Path parameters

Path parameters
NameTypeDescription
traineeIdrequiredstring

Header parameters

Header parameters
NameTypeDescription
Idempotency-Keystring

Optional. Send a unique key (e.g. a UUID) to make this POST safe to retry. The same key within 24h returns the original result instead of creating a duplicate.

Request examples

cURL
curl --request DELETE \
  --url 'https://api.coach-platform.com/api/public/trainees/<traineeId>' \
  --header 'Authorization: Bearer cp_live_...'
JavaScript (fetch)
const response = await fetch('https://api.coach-platform.com/api/public/trainees/<traineeId>', {
  method: 'DELETE',
  headers: {
    Authorization: 'Bearer cp_live_...',
  },
});

const data = await response.json();

Responses

200 OK

Successful response

Example body (application/json)
{
  "data": {
    "id": "<string>",
    "deleted": true
  }
}
Response fields (3)
Response fields
NameTypeDescription
dataobject
data.idstring
data.deletedboolean

Error responses

  • 400 Bad Request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found
  • 409 Conflict
  • 429 Too Many Requests
  • 500 Internal Server Error

These statuses share the same response body.

Example body (application/json)
{
  "error": {
    "code": "<string>",
    "message": "<string>",
    "fix": "<string>",
    "details": {},
    "retryAfterMs": 123
  }
}
Error fields (6)
Error fields
NameTypeDescription
errorobject
error.codestring
error.messagestring
error.fixstring | null
error.detailsobject | null
error.retryAfterMsnumber | null

This page is also available as Markdown. Browse it in the interactive explorer or download the OpenAPI spec.