# Get a fixture's sidelined players

`GET /v1/fixtures/{id}/sidelined`

The players of both sides the source listed as unavailable for the fixture, through
injury or suspension, or as doubtful for it (listed, but they may still play), as known at
`known_at`: `sdl_<digits>` sidelined entries with the spell's start and end date, the
games it has cost and whether it is over. Governed by
the `events` dataset, with the access, versioning, identifier, delay and billing rules of
`GET /v1/fixtures/{id}/events`; served where every source holds the display right for
sidelined players (Sportmonks does).

- **Coverage.** The source lists sidelined players for part of the fixtures only (in
  2025/26 for 234 of 380 Premier League fixtures): `unavailable` means the source sent no
  list, not that every player was fit.
- **Dates.** `end_date` null means the source does not know when the spell ends;
  `completed` is the source's flag as of its capture, not at the fixture's date.
- **Order.** Injuries first, then suspensions, then doubtful players; within each by start
  date (none last).
- **Filters.** `team_id` and `person_id`, canonical at the cutoff.

Parameters:
- `id` (path, string, required): Canonical or retired fixture identifier (`fx_<digits>`); another kind's prefix or an undecodable body is a 400 naming `id`.
- `known_at` (query, timestamp, optional): Knowledge cutoff (UTC); the answer reflects only what OddsFinder had recorded by this instant. Default is the request time. Must not be in the future.
- `team_id` (query, string, optional): Only the entries of this team (canonical at the cutoff).
- `person_id` (query, string, optional): Only the entries of this person (canonical at the cutoff).

Returns `200`: The fixture's sidelined players as known at the cutoff.
The body is [the fixture sidelined object](obj-FixtureSidelined.md).

Errors: `400` Malformed parameter or cursor (`invalid-request`).; `401` Missing or invalid credential (`unauthenticated`).; `403` Operation not permitted (`forbidden`) or restricted by grants/rights (`not-entitled`).; `404` Unknown identifier at the requested cutoff (`not-found`).; `422` Well-formed but unanswerable (`invalid-range`, `unsupported-historical-capability`).; `429` The per-minute rate limit is used up (`rate-limited`) or a daily allowance is exhausted (`quota-exceeded`). Failed requests (403, 404, other 4xx, 5xx) use up the per-minute rate limit too.; `500` Unexpected failure (`internal-error`); `request_id` identifies the server-side record.; `503` A service this operation depends on, or the access check, is temporarily unavailable (`unavailable`, `policy-unavailable`).

Example request (200 · Withheld):

```bash
curl https://api.example.com/v1/fixtures/fx_1/sidelined \
  -H "X-API-Key: $ODDSFINDER_API_KEY"
```

Example response (200):

```json
{
  "fixture_id": "fx_1",
  "status": "withheld",
  "entries": [],
  "knowledge": {
    "known_at": "2026-10-03T19:00:00Z",
    "as_requested": false
  }
}
```
