---
search:
  tags:
    - Achievements
    - GET
seo:
  description: >-
    Returns the achievements a player has unlocked, in catalog order. The…
    Reference for the GET /players/{id}/achievements endpoint in the dartpilot
    Public API.
sidebar:
  label: List a player's unlocked achievements
  badge: GET
title: List a player's unlocked achievements
type: openapi-operation
---
Returns the achievements a player has unlocked, in catalog order. The target must be the API key owner or an accepted friend; anyone else returns `404`.

`GET /players/{id}/achievements`

**Responses**

- `200` — The player's unlocked achievements.
- `400` — Invalid request.
- `401` — Missing or invalid API key.
- `403` — The API key is missing a required scope or is the wrong type for this endpoint.
- `404` — Entity not found.
- `429` — Rate limit exceeded. See the \`Retry-After\` header.
- `500` — Internal server error.

Response example, 200:

```json
{
  "playerId": "string",
  "achievements": [
    {
      "id": "string",
      "name": "string",
      "description": "string",
      "rarity": "common",
      "xp": 0,
      "category": "first_steps",
      "condition": {
        "property1": null,
        "property2": null
      },
      "sortOrder": -9007199254740991,
      "unlockedAt": "string"
    }
  ]
}
```
