---
title: "Delete Roster Entry"
method: DELETE
path: "/api/v1/roster/{player_id}/{team_id}/{season}"
tags: ["Roster"]
---

# Delete Roster Entry

`DELETE /api/v1/roster/{player_id}/{team_id}/{season}`

Delete a roster entry by player_id, team_id, and season.

Note: This only removes the roster entry. player_info and player_jersey
mappings are preserved for historical stats integrity.

## Path parameters

- `player_id` string, required
- `team_id` string, required
- `season` string, required

## Query parameters

- `competition_id` string, nullable

## Headers

- `x-api-key` string, required — Required API key issued by Preciser.
- `League` string, required — Required tenant/database selector, for example pitchbio-master.

## Response `200`

Successful Response

- RosterDeleteResponse — Response schema for roster delete operation.
  - `success` boolean, required — Whether the operation was successful
  - `message` string, required — Status message
  - `deleted_count` integer, required — Number of records deleted

## Other responses

- `422` — Validation Error

## Changes

- **2026-08-27** `9b0abde08b06` — 4 breaking, 2 info
  - the `header` request parameter `League` became required
  - the `header` request parameter `x-api-key` became required
  - `header` request parameter `League` list-of-types was narrowed by removing types `null`
  - `header` request parameter `x-api-key` list-of-types was narrowed by removing types `null`
  - …2 more
- **2026-08-17** `64853d21435b` — 1 info
  - added the new optional `query` request parameter `competition_id`

[Change history](https://skmtc.dev/preciser/apis/preciser-data-management-api/changes/api/v1/roster/:player_id/:team_id/:season/delete.md)

---

[API](https://skmtc.dev/preciser/apis/preciser-data-management-api.md) · [All operations](https://skmtc.dev/preciser/apis/preciser-data-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/preciser/preciser-data-management-api/revisions/34b25b64cd00/schema)
