Reorder Header Links
Set order on the header links you list. A link you leave out keeps its order. Visitors see the new order after you publish. The response is every header link in the new order, with no pagination. preview_url, draft_version, and draft_updated_at sit beside data. See Reorder.
Request
POST /players/{id}/header-links/reorder
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Course UUID. See Identifiers. |
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
draft_version | integer | Yes | Current counter from Get Course. Minimum 1. Missing, not an integer, or below 1 is 422. A value that is not current is 409. |
items | array | Yes | At least one header link to move |
Items Object
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Header link UUID on this course |
order | integer | Yes | New position, 0 or greater |
Example Request
curl -X POST "https://app.easy.tools/api/v1/players/8f3c1a62-d047-4e89-9b25-1c6a4d8e0f71/header-links/reorder" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"draft_version": 1,
"items": [
{ "id": "6d2f9a84-1e47-4c05-b918-3a5c7e0d2f64", "order": 0 },
{ "id": "4b8e1c70-5d29-4a16-8f33-0c7a2e9d4b51", "order": 1 }
]
}'
Response
Success Response (200)
{
"data": [
{
"id": "6d2f9a84-1e47-4c05-b918-3a5c7e0d2f64",
"name": "Community",
"link_url": "https://mysite.com/community",
"type": "button",
"side": "right",
"order": 0
},
{
"id": "4b8e1c70-5d29-4a16-8f33-0c7a2e9d4b51",
"name": "Syllabus",
"link_url": "https://mysite.com/syllabus",
"type": "link",
"side": "left",
"order": 1
}
],
"preview_url": "https://app.easy.tools/players/8f3c1a62-d047-4e89-9b25-1c6a4d8e0f71/preview?expires=1768478400&signature=7d2e9c41a6b85f03e1c7d94a2b6f80e35c1a9d7b4e2f60c8a3d5b1e9f7c2a046",
"draft_version": 2,
"draft_updated_at": "2026-01-15T11:05:00.000Z"
}
Response Fields
Each entry has the fields described in Header Link Object. preview_url, draft_version, and draft_updated_at sit beside data.
Error Responses
Not Found Error (404)
An unknown course, or an id in items that is missing or not a UUID. Nothing is saved. See Identifiers.
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found"
}
}
Conflict Error (409)
draft_version is not the current counter. Read the course and retry with that value.
{
"error": {
"code": "CONFLICT",
"message": "The draft was edited elsewhere. GET the draft and retry with the current draft_version."
}
}
Validation Error (422 Unprocessable Entity)
A duplicate id, a duplicate order, or an order that matches a link you left out. Nothing is saved.
{
"error": {
"code": "VALIDATION_ERROR",
"message": "The given data was invalid",
"details": {
"items": ["items order collides with a header link that was omitted"]
}
}
}
Authentication, permission, and rate-limit errors are described in Authorization.