# BitLabs Documentation > Documentation for BitLabs ## Guides - [Welcome to BitLabs](https://developer.bitlabs.ai/docs/getting-started.md): This page will help you get started with BitLabs. - [Games and Offers](https://developer.bitlabs.ai/docs/games-and-offers.md): This page describes what Games and Offers are and how to set it up. - [Surveys](https://developer.bitlabs.ai/docs/surveys.md): This page describes what Surveys are and how to set it up. - [Magic Receipts](https://developer.bitlabs.ai/docs/magic-receipts.md): This page describes what Magic Receipts is and how to set it up. - [Cashback](https://developer.bitlabs.ai/docs/cash-back.md): This page describes what Cashback is and how to set it up. - [Signing up](https://developer.bitlabs.ai/docs/sign-up-set-up.md): Learn how to get started with BitLabs. - [Company workspaces](https://developer.bitlabs.ai/docs/company-workspaces.md): Learn more about company workspaces. - [Getting verified](https://developer.bitlabs.ai/docs/getting-verified.md): Learn how to get your workspace verified. - [Creating a new placement](https://developer.bitlabs.ai/docs/creating-a-new-placement.md): Learn how to create a placement and change the settings according to your needs. - [General settings](https://developer.bitlabs.ai/docs/general-settings.md) - [Currency settings](https://developer.bitlabs.ai/docs/currency-settings.md) - [Design settings](https://developer.bitlabs.ai/docs/design-settings.md) - [Games and Offers](https://developer.bitlabs.ai/docs/demand-games-and-offers.md) - [CPI & CPE Revenue Models Explained](https://developer.bitlabs.ai/docs/cpi-cpe-revenue-models-explained.md): Learn how BitLabs calculates publisher payouts and user rewards across CPI, CPE, and hybrid campaigns, including margin management and how to identify install-based payouts. - [Surveys](https://developer.bitlabs.ai/docs/demand-surveys.md) - [Magic Receipts](https://developer.bitlabs.ai/docs/demand-magic-receipts.md) - [Cashback](https://developer.bitlabs.ai/docs/cashback-settings.md) - [User Investigation](https://developer.bitlabs.ai/docs/user-investigation.md) - [iFrame & Web integration](https://developer.bitlabs.ai/docs/iframeweb-integration.md): This page will guide you through the implementation of BitLabs within an iFrame or web link. - [Runtime iframe interface](https://developer.bitlabs.ai/docs/iframe-interface.md): This page describes how the offerwall settings can be overwritten in the iframe during runtime with iframe post messages. - [BitLabs Android SDK](https://developer.bitlabs.ai/docs/android-sdk-v3.md): This page will guide you through the integration of our Android SDK into your app. - [BitLabs iOS SDK](https://developer.bitlabs.ai/docs/ios-sdk-v3.md): This page will guide you through the integration of our iOS SDK into your app. - [BitLabs Flutter SDK](https://developer.bitlabs.ai/docs/flutter-sdk-v2.md): This page will guide you through the integration of our Flutter SDK into your app. - [BitLabs React Native SDK](https://developer.bitlabs.ai/docs/bitlabs-react-native-sdk.md): This page will guide you through the integration of our React Native SDK into your app. - [Migration Guide](https://developer.bitlabs.ai/docs/migrate-to-v2.md): Since v2.0.0, the RN SDK changed all Usage behaviour. Follow these steps to migrate without issues. - [Deprecated - BitLabs React Native SDK](https://developer.bitlabs.ai/docs/react-native-sdk.md): This page will guide you through the integration of our React Native SDK into your app. - [BitLabs Unity SDK](https://developer.bitlabs.ai/docs/unity-sdk-v3.md): This page will guide you through the integration of our Unity SDK into your app for iOS and Android. - [Migrating from v3 to v4](https://developer.bitlabs.ai/docs/migrating-from-v3-to-v4.md): This guide will help you migrate your existing BitLabs Unity SDK integration from v3 to v4. - [Enable games for SDK and webview integrations on iOS](https://developer.bitlabs.ai/docs/enable-games-for-sdk-integrations-for-ios.md) - [Webview](https://developer.bitlabs.ai/docs/other-platforms.md): This page will guide you through the implementation of BitLabs with Platforms like Flutter, React, VueJS and others. - [iOS Privacy Guidelines for BitLabs SDK Integration](https://developer.bitlabs.ai/docs/ios-privacy-guidelines-for-bitlabs-sdk-integration.md): This document outlines the key privacy considerations and requirements when integrating the BitLabs iOS SDK, particularly in relation to Apple’s privacy framework and App Store submission requirements. - [Games & Offers API](https://developer.bitlabs.ai/docs/offer-api.md): Learn more about the Games & Offers API - [User Based Offer API](https://developer.bitlabs.ai/docs/user-based-offer-api.md) - [Survey API](https://developer.bitlabs.ai/docs/user-based-survey-api.md) - [Magic Receipts API](https://developer.bitlabs.ai/docs/magic-receipts-api.md): This page describes how to set up and use the Magic Receipts API - [Quick Start Guide](https://developer.bitlabs.ai/docs/quick-start-guide.md): This is a very short description of what is needed to get started with the Magic Receipts API - [Access Token Endpoint](https://developer.bitlabs.ai/docs/get-access-token-for-magic-receipts.md) - [Instore Offers Short Endpoint](https://developer.bitlabs.ai/docs/instore-offers-short-endpoint.md) - [Instore Offer Details Endpoint](https://developer.bitlabs.ai/docs/instore-offer-details-endpoint.md) - [Instore Categories Endpoint](https://developer.bitlabs.ai/docs/instore-categories-api-endpoint.md) - [Instore Merchants Endpoint](https://developer.bitlabs.ai/docs/instore-merchants-endpoint.md) - [Clip Offer Endpoint](https://developer.bitlabs.ai/docs/clip-offer-endpoint.md) - [Receipt Upload Enabled Check Endpoint](https://developer.bitlabs.ai/docs/receipt-upload-enabled-check-api-endpoint.md) - [Receipt Upload Endpoint](https://developer.bitlabs.ai/docs/receipt-upload-endpoint.md) - [Receipt Upload Testing](https://developer.bitlabs.ai/docs/receipt-upload-testing.md) - [Instore Manual Review Endpoint](https://developer.bitlabs.ai/docs/instore-manual-review-endpoint.md) - [Cashback API](https://developer.bitlabs.ai/docs/cashback-api.md): This documentation describes how to use the cashback API. - [User Privacy Requests (GDPR)](https://developer.bitlabs.ai/docs/user-privacy-requests-gdpr.md): You, as a publisher, are required to forward data requests of the behalf of the user. - [Server to Server comunication](https://developer.bitlabs.ai/docs/server-to-server-comunication.md) - [Callbacks Introduction](https://developer.bitlabs.ai/docs/callbacks.md): This page explains what callbacks are and how you can set up general callbacks - [Reward & Reconciliation callbacks](https://developer.bitlabs.ai/docs/general-reward-callbacks.md): This page explains how to use our general reward callbacks. - [Advanced callback system](https://developer.bitlabs.ai/docs/advanced-callback-system.md): Learn how to use our advanced callback system. - [Offer callbacks](https://developer.bitlabs.ai/docs/offer-callbacks.md): This page describes on how to utilize offer specific callbacks and for different offer states. - [Survey callbacks](https://developer.bitlabs.ai/docs/survey-callbacks.md): This page describes on how to utilize callbacks for different survey states. - [Magic Receipt callbacks](https://developer.bitlabs.ai/docs/magic-receipt-callbacks.md): This page describes on how to utilize magic receipts specific callbacks and for different magic receipts states. - [Cashback callbacks](https://developer.bitlabs.ai/docs/cashback-callbacks.md): This page describes on how to utilize cashback specific callbacks and for different cashback states. - [Ban Callbacks](https://developer.bitlabs.ai/docs/ban-callbacks.md): This page describes how to use ban callbacks. - [Testing callbacks](https://developer.bitlabs.ai/docs/testing-callbacks.md): Learn how to test your callbacks. - [Securing callbacks through hashing](https://developer.bitlabs.ai/docs/securing-callbacks-through-hashing.md): These settings are related to the technical integration of BitLabs. - [Callback parameters](https://developer.bitlabs.ai/docs/callback-parameters.md): Find a comprehensive list of all callback parameters. - [Custom parameters in callbacks](https://developer.bitlabs.ai/docs/custom-parameters-in-callbacks.md): Learn how to pass in custom parameters to receive them in the callbacks. - [7-Day Streak](https://developer.bitlabs.ai/docs/7-day-streak.md): Learn how to set up the 7-Day Streak feature. - [Survey Currency Promotion](https://developer.bitlabs.ai/docs/survey-currency-promotion.md): Learn how to enable a bonus promotions for your survey user. - [Widget Documentation for Desktop & Web](https://developer.bitlabs.ai/docs/widget-documentation-desktopweb.md): Learn how to implement BitLabs Widgets to your web app. - [Leaderboard Widget](https://developer.bitlabs.ai/docs/leaderboard-widget.md): The Leaderboard widget shows your top 100 earning users and their corresponding earnings in your app's currency. And will open an Offerwall window if a user clicks on it. - [Management API - Apps](https://developer.bitlabs.ai/docs/management-api-apps.md) - [Payments & Billing](https://developer.bitlabs.ai/docs/payments-billing.md): You'll find all information regarding when and how to get paid from BitLabs. - [Getting started](https://developer.bitlabs.ai/docs/getting-started-bi.md): In this guide we'll go through the basic requirements to analyse callback data to understand your integration's performance - [Offer Reporting, ARPU and In-App Purchases](https://developer.bitlabs.ai/docs/offer-metrics.md): Learn how to use In-App purchase information to improve revenue. ## API Reference - [Get Surveys](https://developer.bitlabs.ai/reference/getsurveysv2.md): Returns a list of surveys that are available for the current user. This is the endpoint that should be used to display surveys to the user. If a simple integration flow is desired, this is the only endpoint that must be implemented. Redirecting to the `click_url` property of the returned surveys will open the survey in the BitLabs. - [Open click](https://developer.bitlabs.ai/reference/createandredirectclickv2.md): Creates a click and redirects to the target url. This is the endpoint that should be used to open a survey. - [Create click](https://developer.bitlabs.ai/reference/createclickv2.md): Creates a click and returns the click id without redirecting. - [Get click](https://developer.bitlabs.ai/reference/getclickv2.md): Returns the next action to take for the given click. It returns the user's current progress and either a redirect target or a question to answer. - [Update click](https://developer.bitlabs.ai/reference/updateclickv2.md): Updates the click with the action and returns the changed state of the click, hence the GET click endpoint does not have to be called after calling this endpoint. The action can be one of the following: - `answer` - answers a question - `skip` - skip a question, if skipping is allowed - `leave` - either leaves the survey or the click flow with a supplied reason - `rate` - when a survey is completed, this action can be used to rate the survey - [Get survey reconciliation count](https://developer.bitlabs.ai/reference/getsurveyreconciliationcount.md): Get Reconciliation Count for Surveys - [Get Offers](https://developer.bitlabs.ai/reference/getoffersv2.md): Returns offers for the current user in one of two modes: **Full catalog (default)** — Omit `offer_ids`. Behavior matches the historical user-based offers list (upstream AdGate user-based offers API). Optional query parameters such as `limit`, `is_game`, `ipad`, `devices`, `client_ip`, `client_user_agent`, `ios_id`, `android_advertiser_id`, `idfv`, `device_name`, `os_version`, and `in_app` apply to this mode. When provided, `client_ip`, `client_user_agent`, and the device/tracking parameters are appended to each offer's `click_url`. **By offer IDs** — Include `offer_ids` as a comma-separated list of AdGate offer IDs (non-empty, duplicate IDs deduplicated). There is **no** BitLabs-enforced maximum ID count (subject to upstream AdGate limits). The response uses the same `OffersV2` schema; upstream calls use AdGate’s user-based “offers by IDs” API. Optional `tags` use the same encoding and merge semantics as catalog mode. List-scoping parameters (`limit`, `is_game`, `devices`, etc.) are ignored in this mode. Response order matches **AdGate** only; BitLabs does not reorder results. Malformed `offer_ids`, empty `offer_ids`, or invalid `tags` yield **400 Bad Request**. The upstream `rank_method` parameter is not supported. - [Get offer history](https://developer.bitlabs.ai/reference/getofferhistoryv2.md): Returns the current user's offer history (`OfferHistoryV2`). - [Store Mobile Advertising ID](https://developer.bitlabs.ai/reference/storemobileadvertisingid.md): Stores the mobile advertising ID (GAID/IDFA) for the current user - [Get user history offer details](https://developer.bitlabs.ai/reference/getuserhistoryofferdetails.md): Get User History Offer Details returns the details of a specific offer that the user has interacted with. - [Get access token for magic receipts](https://developer.bitlabs.ai/reference/getmagicreceiptaccesstoken.md): Get Magic Receipts Access Token returns the access token for the Magic Receipt API. - [Get user history magic receipt offer details](https://developer.bitlabs.ai/reference/getuserhistorymagicreceiptofferdetails.md): Get User History Magic Receipt Offer Details returns the details of a specific magic receipt offer that the user has interacted with. - [Get user history](https://developer.bitlabs.ai/reference/getuserhistory.md): 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. - [Get user](https://developer.bitlabs.ai/reference/getuser.md): Returns information and identifier of the requesting user - [Update user](https://developer.bitlabs.ai/reference/updateuser.md): Update User allows to update the user's profile. The following fields can be updated: - `username` - [Get level info](https://developer.bitlabs.ai/reference/getlevelinfo.md): Returns Level/XP information and list Claims - [Claim the reward](https://developer.bitlabs.ai/reference/claimxpreward.md): Claim the reward - [Spin the wheel](https://developer.bitlabs.ai/reference/spinwheel.md): Spin the promotion wheel to get a reward - [Get the progress of a goal](https://developer.bitlabs.ai/reference/getpromotionprogress.md): Get Promotion Progress returns the progress of the user for the given goal. - [Get the current promotion streak](https://developer.bitlabs.ai/reference/getcurrentstreak.md): Get Current Streak returns the current streak of the user. - [Spin the wheel for the welcome bonus reward if available](https://developer.bitlabs.ai/reference/spinwheelwelcomebonus.md): Spin the user's wheel for a welcome bonus reward if available - [Get user's welcome bonus, if eligible](https://developer.bitlabs.ai/reference/getwelcomebonus.md): Get user's welcome bonus, if eligible. - [Claim user's welcome bonus](https://developer.bitlabs.ai/reference/claimwelcomebonus.md): Claim user's welcome bonus, if eligible. - [Attempt to generate a referral code for the user](https://developer.bitlabs.ai/reference/generatereferralcode.md): Generate a referral code for the user, if possible. - [Get user's referral bonus info](https://developer.bitlabs.ai/reference/getreferralbonus.md): Allow a user to view information regarding it's referral from another user. - [Attempt to activate a referral code](https://developer.bitlabs.ai/reference/activatereferralcode.md): Activate the provided referral code, if it is valid. - [Get user's referral info](https://developer.bitlabs.ai/reference/getreferralinfo.md): Allow a user to view information regarding it's role as a referrer. - [Claim user's reward](https://developer.bitlabs.ai/reference/claimrewardbyrewardtype.md): Claim user's reward. - [Import Users](https://developer.bitlabs.ai/reference/importusers.md): Bulk imports given user accounts. This feature must be enabled by your account manager! If more than one user is sent in a request, that request is treated as a bulk import. Only one bulk import can be issued at a time. If only one user is set, you can call the endpoint in parallel. - [Delete user](https://developer.bitlabs.ai/reference/deleteuser.md): Delete the user account and all associated data for the given id. This operation cannot be un-done! - [Get user data for publishers](https://developer.bitlabs.ai/reference/getpublisheruserprofile.md): Get User Data for Publishers returns the user data for the given user id. - [Get user GDPR requests](https://developer.bitlabs.ai/reference/getusergdprrequests.md): Get User GDPR Requests returns the GDPR requests of the user. - [Create GDPR data request](https://developer.bitlabs.ai/reference/accessuser.md): Posts an access user data request for the specific user - [Fetch offer revenue report](https://developer.bitlabs.ai/reference/getpublisherreport.md): Fetches a report of the revenue generated by the offers. The report is aggregated by day. - [Create auth token for user](https://developer.bitlabs.ai/reference/creates2sauthentication.md): This endpoint is used to authenticate a user using an publisher user id. The access token is validated and a new authentication token is returned. This token can be used to authenticate the user in the future. - [Test a callback URL](https://developer.bitlabs.ai/reference/testcallbackurl.md): This endpoint is used to test a callback URL. It sends a test payload to the callback URL. - [Test a callback URL](https://developer.bitlabs.ai/reference/performtestcallback.md): This endpoint is used to test a callback URL. It sends a test payload to the callback URL. - [Get revenue for an app](https://developer.bitlabs.ai/reference/getapprevenue.md): Generates a daily aggregated report of the app's revenue. Each entry includes the date and the revenue earned from various streams such as surveys, offers, magic receipts, and more. - [Get user history cashback details](https://developer.bitlabs.ai/reference/getuserhistorycashbackdetails.md): Get User History Cashback Details returns the details of a specific cashback offer that the user has interacted with. - [Validate zipcode](https://developer.bitlabs.ai/reference/validatezipcode.md): Validates a zipcode against rules for the country the request is coming from. - [Update user legal information](https://developer.bitlabs.ai/reference/setuserlegal.md): Update User Legal allows to update the user's legal information. - [Update user marketing information](https://developer.bitlabs.ai/reference/setusermarketing.md): Update User Marketing allows to update the user's marketing information. - [Get app settings](https://developer.bitlabs.ai/reference/getappsettings.md): Get App Settings returns the settings of the app. This is deprecated, please use `/v1/client/settings/v2` instead. - [Get app settings v2](https://developer.bitlabs.ai/reference/getappsettingsv2.md): Get App Settings V2 returns the settings of the app. - [Get app leaderboard](https://developer.bitlabs.ai/reference/getleaderboard.md): Get Leaderboard returns the leaderboard of the app. - [Download GDPR file](https://developer.bitlabs.ai/reference/getgdprfilev2.md): Download GDPR File allows to download a file that contains the user's data. - [Get user balance](https://developer.bitlabs.ai/reference/getuserbalance.md): Get User Balance returns the balance of the user. - [Set custom fields](https://developer.bitlabs.ai/reference/setcustomfields.md): This endpoint is used to set custom fields for the user. The custom fields are used to store additional information about the user. Only fields that have not previously been set can be set. - [Get url for magic receipts](https://developer.bitlabs.ai/reference/getmagicreceipturl.md): Get Magic Receipts URL returns the URL for the magic receipts iFrame. - [Get user GDPR requests](https://developer.bitlabs.ai/reference/getgdpruserrequests.md): Get User GDPR Requests returns the GDPR requests of the user. - [Create GDPR data request](https://developer.bitlabs.ai/reference/accessgdpruser.md): Posts an access user data request for the specific user - [Delete GPDR data request](https://developer.bitlabs.ai/reference/deletegdpruser.md): Delete the user account and all associated data for the given id. This operation cannot be un-done! - [Set user preferred notifications](https://developer.bitlabs.ai/reference/setusernotificationchannels.md): This endpoint is used to configure the user's notification channels. These channels are designed to notify the user about specific events, such as user inactivity, completed offers, and more. Only the channels included in the list will be set; all others will default to false. - [Get user preferred email channels](https://developer.bitlabs.ai/reference/getusernotificationchannels.md): This endpoint is used to get the user's preferred notification channels. The notification channels are used to notify the user about user-specific events such user inactivity, completed offers, etc. - [Unsubscribe user from notifications](https://developer.bitlabs.ai/reference/unsubscribeusernotifications.md): This endpoint is used to unsubscribe the user from all notifications. - [Create user payout request](https://developer.bitlabs.ai/reference/createuserpayoutrequest.md): Create User Payout Request allows to create a payout request for the user. - [Get offers](https://developer.bitlabs.ai/reference/getpublisheroffersv2.md): Returns a list of offers that are available for all users. Note that this is not customized for any user. - [Get user payout history](https://developer.bitlabs.ai/reference/getuserpayouthistoryv2.md): Get User Payout History returns the payout history of the user. - [Create user payout request](https://developer.bitlabs.ai/reference/createuserpayoutrequestv2.md): Create User Payout Request allows to create a payout request for the user. - [Get user payout history](https://developer.bitlabs.ai/reference/getuserpayouthistory.md): Get User Payout History returns the payout history of the user. - [Get card inventory brands](https://developer.bitlabs.ai/reference/getcardinventorybrands.md): Get Card Inventory Brands returns the available gift card brands with their items and tiers. Each tier includes calculated currency values and secure price tokens for redemption. - [Get cashback offers](https://developer.bitlabs.ai/reference/getcashbackoffers.md): Get cashback offers. - [Set Velocity custom fields](https://developer.bitlabs.ai/reference/setvelocitycustomfields.md): Validates Velocity member identity and persists accepted custom fields. Available only when auth custom field integration type is VELOCITY_FREQUENT_FLYER.