---
title: "Get user history"
method: GET
path: "/v1/client/user/history"
tags: ["User", "Offers", "Surveys", "Magic-Receipts"]
---

# Get user history

`GET /v1/client/user/history`

Get User History returns a sorted list of events where the first element is the most recent. It contains up to
four different types of events: `OPEN`, `LEAVE`, `SCREENOUT`, `COMPLETE`.

Events in this response are unique per survey so if a survey was completed, only the complete event is returned
and not the corresponding opening. Only non open events contain a duration property. Only screenout and complete
events contain a user value property.

## Query parameters

- `filter` string[]

## Response `200`

OK

- object
  - `data` union[]
    - union
      - UserHistoryEntrySurvey
        - `type` 'OPEN' | 'LEAVE' | 'SCREENOUT' | 'COMPLETE', required
        - `survey_id` integer, required — Use `tx_id` instead. The field will be removed in the future and is currently populated with the `tx_id` value.
        - `tx_id` integer, required — Unique reference number of this survey transaction of the user.
        - `details` UserHistoryEntrySurveyDetails, required — Deprecated. Will not be populated in the future.
          - `category` ActionsSurveyDetailsCategory, required
            - `name` string, required — Localized category name
            - `icon_url` string, required — If not empty: url to an icon for the cateogry.
            - `name_internal` string, required — Internal, un-localized, machine-friendly name of the category
          - `network` ActionsSurveyDetailsNetwork, required
            - `name` string, required — Displayable name of the network the survey came from
            - `icon_url` string, required — If not empty: url to an icon for the network.
        - `user_value` string, required — Amount earned in user currency.
        - `rating` integer, required
        - `created_at` string, required
        - `duration` string, required
        - `reconciled` boolean, required
        - `callback_delay_seconds` integer — Optional delay in seconds after which the callback will be sent, if not reconciled until that point.
        - `support_form_url` string — URL to the support form for the survey
      - UserHistoryEntryOfferV2
        - `offer_id` string, required
        - `anchor` string, required — The title of the offer as it is displayed to the user.
        - `description` string, required — Description to display to the user.
        - `requirements` string, required — What the user should do to complete an offer.
        - `confirmation_time` string, required
        - `categories` string[], required — An array of offer categories
        - `icon_url` string, required — Square image to display to the user.
        - `latest_date` string, date-time, required — Date of the latest click or conversions.
        - `cpa` string, required
        - `completed_events` integer, required — Total number of events that the user has completed for this offer.
        - `contact_url` string, required — Link to the contact page
        - `has_details` boolean, required — If true, user history offer details endpoint can be called for additional information.
        - `state` 'opened' | 'completed' | 'pending' | 'reconciled', required
        - `hours_left` integer — Number of hours left to complete the offer.
        - `next_event` string — Id of the next event
        - `next_payable_event` string — Id of the next payable event
        - `completed` boolean, required — If true, the user has completed the offer.
        - `total_points` string, required — Total points the user may earn
        - `total_points_promotional` string — If a promotion is currently in progress, the amount of points they will earn. If not null, this should be used instead of total_points.
        - `total_approved_points` string, required — Total points the user has earned and have been approved.
        - `total_pending_points` string, required — Total points the user has earned and are pending approval.
        - `total_cancelled_points` string, required — Total points the user has earned and have been cancelled.
        - `total_events` integer, required — Total number of events that the user has completed for this offer.
        - `total_approved_events` integer, required — Total number of events that the user has completed and have been approved.
        - `total_pending_events` integer, required — Total number of events that the user has completed and are pending approval.
        - `total_cancelled_events` integer, required — Total number of events that the user has completed and have been cancelled.
        - `has_pending_conversion` boolean, required — If true, the user has a pending conversion for this offer.
      - UserHistoryEntryLeaderboard
        - `rank` integer, required
        - `user_value` string, required — Amount earned in user currency.
        - `period` string, date-time, required — The first day of the month the reward was given for.
      - UserHistoryEntrySurveySupport
        - `state` 'pending' | 'rejected' | 'credited', required — The state of the request.
        - `created_at` string, required — The date the request is created.
        - `amount` string, required — The amount of the request in USD.
      - UserHistoryEntryMagicReceipt
        - `id` integer, required — ID of the magic receipt
        - `user_value` string, required — Amount earned in user currency.
        - `offer_name` string, required
        - `status` 'completed' | 'pending' | 'reconciled' | 'reviewing', required
        - `created_at` string, required — The date the request is created.
        - `pending_days` integer, nullable — Number of days the reward remains pending for award_pending magic receipts.
      - UserHistoryEntryCashback
        - `id` integer, required — ID of the cashback
        - `user_value` string, required — Amount earned in user currency.
        - `merchant_name` string, required
        - `event_name` string, required
        - `status` 'completed' | 'pending' | 'adjusted' | 'created', required
        - `reward_delay_days` integer, required — Duration in days the reward remains pending before being granted.
        - `created_at` string, required — The date the cashback was created.
      - UserHistoryEntryPromotion
        - `id` integer, required — ID of the promotion reward
        - `user_value` string, required — Amount earned in user currency.
        - `type` string, required — Type of promotion reward
        - `created_at` string, required — The date the promotion reward was created.

## Other responses

- `406` — VPN detected

---

[API](https://skmtc.net/bitlabs/apis/bitlabs-client-api.md) · [All operations](https://skmtc.net/bitlabs/apis/bitlabs-client-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitlabs/bitlabs-client-api/revisions/99209a6285bf/schema)
