# Bounty creator progress

Retrieve a creator's bounty progress by ID, slug, or your internal playerId.

You can retrieve progress for a specific creator by their `memberId`, slug, or your internal `playerId` (linked with their Nexus account).

<ApiMethod method="GET" path="/member/id/{memberId}" />
<LinkCard title="View full reference" description="Parameters, responses, and status codes." href="/api/bounties/operations/getmemberbountiesbyid/" />

<ApiMethod method="GET" path="/member/slug/{slug}" />
<LinkCard title="View full reference" description="Parameters, responses, and status codes." href="/api/bounties/operations/getmemberbountiesbyslug/" />

<ApiMethod method="GET" path="/member/playerId/{playerId}" />
<LinkCard title="View full reference" description="Parameters, responses, and status codes." href="/api/bounties/operations/getmemberbountiesbyplayerid/" />

The slug and playerId endpoints accept the same query and response shape. They differ by the path
identifier and by the key they take: the member id and playerId lookups authenticate with your
**public** key (`nexus_pk_...`), while the slug lookup requires your **private** key
(`nexus_sk_...`). Sending the wrong key type returns `401`.

```bash
curl -X 'GET' \
  'https://api.nexus.gg/v1/bounties/member/id/9jd7RBR_B2BZ0uWO3_lgv' \
  -H 'accept: */*' \
  -H 'X-SHARED-SECRET: nexus_pk_your_key_here'
```

The status should be `200 OK` with a JSON response body that looks something like this:

```json
{
  "groupId": "CsRKC8uD0NLtyQ0LOt8Ru",
  "groupName": "Test Group",
  "currentPage": 1,
  "currentPageSize": 100,
  "totalCount": 1,
  "memberId": "XrEeF3CrtiSuz2xu8Y6O1",
  "playerId": "55d57cffaa074cc6b8d332f5d77661f2",
  "progress": [
    {
      "id": "ePIWtwm6XnH1lqSpXeKo_",
      "completed": false,
      "completionCount": 1,
      "lastProgressCheck": "2023-02-23T22:51:00.906Z",
      "currentObjectiveGroupId": "Hd6zrUid8ulc0boV5Z5ws",
      "currentObjectives": [
        {
          "id": "XD3Xj13ss4Evkgyq7csCT",
          "completed": true,
          "count": 1,
          "objective": {
            "id": "DRDq6bOp10VUDUwYtniLD",
            "name": "Play 5 hours",
            "count": 1,
            "condition": "AND"
          }
        },
        {
          "id": "T4h8O0p2aOakYG0WhBTEN",
          "completed": false,
          "count": 1,
          "objective": {
            "id": "CsRKC8uD0NLtyQ0LOt8Ru",
            "name": "Refer a player that reaches level 20",
            "count": 5,
            "condition": "AND"
          }
        }
      ],
      "completedObjectives": [
        {
          "objectiveGroupId": "R2vbVWNC4SHhC2lk_QHsq",
          "objectives": [
            {
              "id": "T4h8O0p2aOakYG0WhBTEN",
              "completed": true,
              "count": 1,
              "objective": {
                "id": "DRDq6bOp10VUDUwYtniLD",
                "name": "Play 5 hours",
                "count": 1,
                "condition": "AND"
              }
            },
            {
              "id": "lq8pNeoYa3DrqucZ17MkT",
              "completed": true,
              "count": 5,
              "objective": {
                "id": "CsRKC8uD0NLtyQ0LOt8Ru",
                "name": "Refer a player that reaches level 20",
                "count": 5,
                "condition": "AND"
              }
            }
          ],
          "rewards": [
            {
              "id": "XD3Xj13ss4Evkgyq7csCL",
              "name": "Great Game 200 IGC",
              "externalId": "XVnHQ_JJPspC51d6OvjL0",
              "rewardCompleted": true,
              "rewardReferenceId": "U3NIDcqNIgiG9S9mfmN4H"
            }
          ]
        }
      ],
      "member": {
        "id": "9jd7RBR_B2BZ0uWO3_lgv",
        "playerId": "55d57cffaa074cc6b8d332f5d77661f2",
        "name": "PopcornFrog",
        "codes": [{
          "code": "popcornfrog",
          "isPrimary": true,
          "isGenerated": false,
          "isManaged": false
        }]
      }
    }
  ]
}
```
