Get user history offer details

GET /v1/client/user/history/offers/{offerId}

Get User History Offer Details returns the details of a specific offer that the user has interacted with.

Responses

  • 200 application/json

    OK

    Hide response attribute Show response attribute object
    • data object
      Hide data attributes Show data attributes object
      • offer_id string Required
      • anchor string Required

        Offer title to display to users.

      • description string Required

        Description to display to the user.

      • requirements string Required

        What the user should do to complete an offer.

      • icon_url string Required

        Square image to display to the user.

      • contact_url string Required

        Link to the contact page.

      • things_to_know array[string] Required
      • started_at string(date-time) Required
      • disclaimer string Required
      • events array[object] Required
        Hide events attributes Show events attributes object
        • uuid string Required

          ID of the event

        • name string Required

          Event name to display to the user

        • approved_conversions integer Required

          How many approved (payable) conversions there are.

        • approved_cpa string Required

          How much approved (payable) cpa there is.

        • pending_conversions integer Required

          How many conversions are pending.

        • pending_cpa string Required

          How much cpa is pending.

        • status string Required

          Values are viewed, pending, completed, or cancelled.

        • type string Required

          Flat events have static point values. Dynamic events will have varying payouts.

          Values are flat or dynamic.

        • payable boolean Required

          Whether the event pays anything to the user.

        • timestamp string(date-time) Required

          ID of the event

        • pending_reason string Required Deprecated

          Explains, in text, why the event is in 'pending' status. Deprecated; will always be be empty string.

        • display_type string Required

          This determines how the potential points are displayed. "none": no special logic. User receives {promised_points}. "up_to": display "Up to {promised_points}". "commission": display "{promised_points} per ${promised_commission_amount}

          Values are none, up_to, or commission.

        • promised_points string Required

          The number of points the user will be rewarded upon completion. Will be 0 if the event is not payable.

        • For "commission", the points amount to use in the phrase above.

        • Time played event details (if applicable).

          Hide time_played attributes Show time_played attributes object
        • offer_expires_at string(date-time)

          If there is a time limit for this event, this contains the unix timestamp when the event expires.

        • minutes_left number(float)
        • type_id integer(int64) Required

          ID used to identify the event type. The following values are possible: 0: Not specified 1: Install 2: Event 3: In-app purchase 4: Time played event

        • Points if there is an ongoing promotion

      • hours_left integer

        Number of hours left to complete the offer.

      • is_game boolean Required

        Boolean. Indicates if the offer is a game.

      • product_id string Required

        A unique string shared between offers which belong to same product, e.g. same mobile app.

      • product_name string Required

        The offer's product name.

      • categories array[string] Required

        An array of the category names that the offer belongs to

      • confirmation_time string Required

        Text that described how long it takes to receive credit

      • latest_date string(date-time) Required

        Date of the latest click or conversions.

      • continue_url string Required

        URL to redirect the user to

      • points string Required

        Total points earned by the user for this offer. This does not include any points that are pending.

      • completed_events integer Required
      • completed boolean Required
      • has_pending_conversions boolean Required
      • total_points string Required

        Total points the user may earn

      • 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.

      • tx_id string Required

        The primary transaction ID, or click ID, associated with this offer.

      • Id of the next event

      • Id of the next payable event

  • 406 application/json

    VPN detected

    Hide response attribute Show response attribute object
GET /v1/client/user/history/offers/{offerId}
curl \
 --request GET 'https://api.bitlabs.ai/v1/client/user/history/offers/{offerId}' \
 --header "X-Api-Token: $API_KEY" \
 --header "X-User-Id: $API_KEY"
Response examples (200)
{
  "data": {
    "offer_id": "string",
    "anchor": "Playstation 5",
    "description": "Enter to win a Playstation 5!",
    "requirements": "Sign up with valid information and complete the full survey.",
    "icon_url": "https://main-p.agmcdn.com/offers/1564507470875.gif",
    "contact_url": "https://seek.gg/contact/nQ/testing-prodege/360819",
    "things_to_know": [
      "string"
    ],
    "started_at": "2022-01-01T00:00:00Z",
    "disclaimer": "string",
    "events": [
      {
        "uuid": "0dc43f54-135a-46a4-a51c-a2c5f3cfdac0",
        "name": "Completed",
        "approved_conversions": 42,
        "approved_cpa": "string",
        "pending_conversions": 42,
        "pending_cpa": "string",
        "status": "viewed",
        "type": "flat",
        "payable": true,
        "timestamp": "2022-01-01T00:00:00Z",
        "pending_reason": "string",
        "display_type": "none",
        "promised_points": "string",
        "promised_commission_amount": "string",
        "time_played": {
          "id": 42,
          "goal_unit": "string",
          "goal_unit_count": 42
        },
        "offer_expires_at": "2021-12-31T23:59:59Z",
        "minutes_left": 42.0,
        "type_id": 42,
        "promotional_points": "150.29"
      }
    ],
    "hours_left": 42,
    "is_game": true,
    "product_id": "string",
    "product_name": "string",
    "categories": [
      "Free",
      "Android"
    ],
    "confirmation_time": "string",
    "latest_date": "2022-01-01T00:00:00Z",
    "continue_url": "string",
    "points": "130.12",
    "completed_events": 42,
    "completed": true,
    "has_pending_conversions": true,
    "total_points": "string",
    "total_promotional_points": "string",
    "total_approved_points": "string",
    "total_pending_points": "string",
    "total_cancelled_points": "string",
    "total_events": 42,
    "total_approved_events": 42,
    "total_pending_events": 42,
    "total_cancelled_events": 42,
    "tx_id": "string",
    "next_event": "string",
    "next_payable_event": "string"
  }
}
Response examples (406)
{
  "error": {
    "details": {
      "msg": "vpn detected",
      "http": "406 Not Acceptable"
    }
  }
}