---
title: "List customer achievements"
method: GET
path: "/v1/applications/{applicationId}/achievement_progress/{integrationId}"
tags: ["Achievements"]
---

# List customer achievements

`GET /v1/applications/{applicationId}/achievement_progress/{integrationId}`

## Request

- Base URL: `https://yourbaseurl.talon.one`
- URL: `https://yourbaseurl.talon.one/v1/applications/{applicationId}/achievement_progress/{integrationId}`
- Auth: one of:
  - API key in header `Authorization`
  - API key in header `Authorization`
- TypeScript: <https://skmtc.dev/talon/apis/management-api/docs/v1/applications/:applicationId/achievement_progress/:integrationId/get.ts> (a function with typed inputs; its response is checked against the schema)

> [!note] Management API endpoints are **not** meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.

For the given customer profile, list all the achievements that match your filter criteria.

## Path parameters

- `applicationId` integer, required
- `integrationId` string, required

## Query parameters

- `pageSize` integer
- `skip` integer
- `achievementId` integer
- `title` string

## Response `200`

OK

- object
  - `hasMore` boolean, required
  - `data` AchievementProgressWithDefinition[], required
    - `status` 'inprogress' | 'completed' | 'expired' | 'not_started', required: The status of the achievement.
    - `progress` number, required: The current progress of the customer in the achievement.
    - `startDate` string, date-time: Timestamp at which the customer started the achievement.
    - `completionDate` string, date-time: Timestamp at which point the customer completed the achievement.
    - `endDate` string, date-time: Timestamp at which point the achievement ends and resets for the customer.
    - `achievementId` integer, required: The internal ID of the achievement.
    - `name` string, required: The internal name of the achievement used in API requests.
    - `title` string, required: The display name of the achievement in the Campaign Manager.
    - `description` string, string, required: The description of the achievement in the Campaign Manager.
    - `campaignId` integer: This property is **deprecated**. Use `campaignIds` (Integration API) or `referencedByCampaigns` (Management API) instead. This field contains the first campaign ID from the related `campaignIds`, and is omitted when `campaignIds` is empty.
    - `campaignIds` integer[], required: The IDs of the campaigns that reference this achievement, in ascending order.
    - `referencedByCampaigns` CampaignReference[], required: The campaigns that reference this achievement, in ascending order of their `id`.
      - `id` integer, required: The ID of the campaign that references this achievement.
      - `applicationId` integer, required: The ID of the Application the campaign belongs to.
    - `target` number: The required number of actions or the transactional milestone to complete the achievement.
    - `achievementRecurrencePolicy` 'no_recurrence' | 'on_expiration' | 'on_completion', required: The policy that determines if and how the achievement recurs. - `no_recurrence`: The achievement can be completed only once. - `on_expiration`: The achievement resets after it expires and becomes available again. - `on_completion`: When the customer progress status reaches `completed`, the achievement resets and becomes available again.
    - `achievementActivationPolicy` 'user_action' | 'fixed_schedule', required: The policy that determines how the achievement starts, ends, or resets. - `user_action`: The achievement ends or resets relative to when the customer started the achievement. - `fixed_schedule`: The achievement starts, ends, or resets for all customers following a fixed schedule.
    - `achievementFixedStartDate` string, date-time: The achievement's start date when `achievementActivationPolicy` is equal to `fixed_schedule`. **Note:** It is an RFC3339 timestamp string.
    - `achievementEndDate` string, date-time: The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It is an RFC3339 timestamp string.
    - `achievementAllowRollbackAfterCompletion` boolean: When `true`, customer progress can be rolled back in completed achievements.

## Other responses

- `400`: Bad request
- `401`: Unauthorized

## Changes

- **2026-11-07** `7ef1b9504c3a`: 1 breaking, 3 info
  - the response property `data/items/allOf[subschema #2]/campaignId` became optional for the status `200`
  - response property `data/items/allOf[subschema #2]/campaignId` deprecated
  - added the required property `data/items/allOf[subschema #2]/campaignIds` to the response with the `200` status
  - added the required property `data/items/allOf[subschema #2]/referencedByCampaigns` to the response with the `200` status

[Operation history](https://skmtc.dev/talon/apis/management-api/changes/v1/applications/:applicationId/achievement_progress/:integrationId/get.md)

---

[API](https://skmtc.dev/talon/apis/management-api.md) - [All operations](https://skmtc.dev/talon/apis/management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/talon/apis/management-api/revisions/7ef1b9504c3a?raw)
