Skip to main content

SdkOfferWall - GET Offers

This endpoint returns a list of available offers for each user.

Written by GoKart Support

Endpoint

api/v1/offer-wall/offers

Key Details

  • Supports all query parameters here

  • Returns the general response schema here

  • For details on how to handle new fields in our API schema, please see our SDK API Schema Disclaimer.

  • Default Sorting: Offers are sorted using GoKart’s EPC algorithm unless otherwise specified.

  • Required Parameters: listed in table below

Field Name

Type

Description

Example

Note

pub_member_id

string/integer

A unique identifier for the publisher’s user. Used to personalize offers and track user interactions.

2173

If omitted, the API returns an empty list with a valid structure.


Default Response Fields

Field Name

Type

Description

Examples

id

string/text

A unique identifier for the offer in the form of a UUID.

3fa85f64-5717-4562-b3fc-2c963f66afa6

name

string/text

The name of the offer, typically used as a title.

SiriusXM

headline

string/text

A brief, attention-grabbing statement or headline summarizing the offer.

Get 3 months of streaming for only $1

shortDescription

string/text

A concise description providing key information about the offer.

Stream sports, music, podcasts and more

keyPoints

string/text

Highlights or main points of the offer.

Subscribe for 3 month trial for $1 Stream daily for your first 7 days

offerDetails

string/text

A detailed explanation of the offer.

Download Bingo <br/> Blitz Complete Level "Rome" Collect Coins!

termsAndDisclaimers

string/text

The legal terms, conditions, and disclaimers associated with the offer.

Must make first trade. Award within 30 days

creativeFileUrl

string/text

A URL linking to a creative asset associated with the offer, such as an image or video.

offerSource

string/text

Indicates whether the origin of the offer is tenant-owned or comes from an integration.

RevU

conversionType

string/text

Revenue model (FlatRate, RevShare).

FlatRate

allowRepetitions

boolean

Indicates if the offer can be completed multiple times.

false

reward

number (floating),null

The reward amount for completing the offer.

30, null

rewardPendingDays

number (floating),null

The number of days a reward will remain in a pending status. If the field is null, the reward is immediately available.

10, null

offerType

string/text

Can have values: SingleEvent or MultiEvent

SingleEvent

launchDate

string/text

The date the offer launched

2025-02-27T23:00:00+00:00

endDate

string/text

The date the offer expires

2025-02-27T23:00:00+00:00

deviceTypes

array

A list of devices targeted to the offer

IOS
Android

MacOS

Browser

baselineEpc

number

The EPC value the offer is assigned when first launched until the true EPC can be determined

5

lockBaselineEpc

boolean

Indicates if EPC is locked.

false

advertiserId

string/text

A unique identifier for the advertiser in the form of a UUID.

3fa85f64-5717-4562-b3fc-2c963f66afa6

advertiserName

string/text

The name of the advertiser

Agency1

creatives

array

A list of creative assets associated with the offer.

[{},{},{}...]

creatives.order

integer

Index position of the creative in the array, starting at 0.

1

creatives.url

string/text

A URL linking to a creative asset associated with the offer, such as an image or video.

creatives.metadata

string/text

Optional metadata about the creative. Can be null. Metadata can only be set via the OfferProviders API

banner

events

array

Array containing event objects in a multi-event offer.

[{},{},{}...]

events.offerEventId

string/text

Unique identifier for the offer event.

e9623b92-4d90-404d-beaf-6b27a7ac66ac

events.name

string/text

Name of the offer event.

Install

events.displayOrder

number (floating)

Number that indicates the position in which the event should be displayed within the offer or event list.

2

events.sequenceNumber

number (floating),null

Sequence number of the event within the offer, starting at 1. A value of null means the event is independent and not part of the ordered sequence.

3

events.reward

number (floating),null

The reward amount for completing the event.

30, null

events.deadlineDays

number (floating),null

Number of days before the event’s deadline.

30, null

events.rewardPendingDays

number (floating),null

The number of days a reward will remain in a pending status. If the field is null, the reward is immediately available.

30, null

events.allowRepetitions

boolean

Indicates if the event can be repeated.

false

categories

array

This array contains all categories associated with an offer

[{},{},{}...]

categories.id

string/text

Unique identifier for the category

744d754b-17c5-45b0-bdee-c65458f983f7

categories.name

string/text

Name of the category

Other

placements

array

This array contains all placements associated with an offer

[{},{},{}...]

placements.id

string/text

Unique identifier for the placement

744d754b-17c5-45b0-bdee-c65458f983f7

placements.name

string/text

Name of the placement

Homepage

placements.pinnedPosition

number

Position of the offer within the placement

1


Example

Request:

GET https://api.[YOUR_TENANT].getgokart.ai/api/v1/offer-wall/offers?pub_member_id=23213&pub_age=18&pub_geo_country=US&pub_geo_state=CA

Response:

{
"data": {
"offers": {
"indexFrom": 0,
"pageIndex": 0,
"pageSize": 10,
"totalCount": 12,
"totalPages": 2,
"items": [
{
"id": "492aeffb-199a-43d1-adbf-2761c3ee5ff1",
"name": "Freeplay AOS",
"headline": "Make money from anywhere",
"shortDescription": "",
"keyPoints": "Freeplay is a rewards app that lets users earn points by completing offers and fun surveys, and exploring exclusive offers, all while redeeming their points for gift cards. It’s an easy way to turn everyday interactions into valuable rewards, making every moment on your mobile device more rewarding.<p style=\"text-align:start;\"></p>\n<p style=\"text-align:left;\"><br></p>\n<p style=\"text-align:start;\"></p>\n<p style=\"text-align:left;\"><span style=\"color: rgb(0,0,0);background-color: rgb(255,255,255);font-size: 16px;font-family: wfont_a3f637_3f0d4ffb6bdc4c1cb6dc005c9dadbf65, wf_3f0d4ffb6bdc4c1cb6dc005c9, orig_inter_regular;\">Install, Signup, and Complete your first survey or offer. </span></p>\n",
"offerDetails": "",
"termsAndDisclaimers": "<p><span style=\"color: rgb(79,85,91);background-color: rgb(255,255,255);font-size: 14px;font-family: Work Sans;\">Must be a new email registration. Any form of fraud will be rejected. </span></p>\n",
"creativeFileUrl": "https://cdn.getgokart.ai/tenants/brownboots-preprod/offers/492aeffb-199a-43d1-adbf-2761c3ee5ff1/cdee488a-fd62-4f0d-9612-700342aca7fc.png",
"offerSource": "Brown Boots",
"conversionType": "FlatRate",
"allowRepetitions": true,
"reward": 0,
"rewardPendingDays": null,
"offerType": "MultiEvent",
"launchDate": "2025-07-07T07:00:00+00:00",
"endDate": null,
"deviceTypes": [
"Android",
"MacOS",
"Browser"
],
"baselineEpc": 0,
"lockBaselineEpc": true,
"advertiserId": "26aa73a4-2912-4ffa-bfc8-73be870e7f59",
"advertiserName": "Ellbee Applications",
"creatives": [
{
"order": 0,
"url": "https://cdn.getgokart.ai/tenants/brownboots-preprod/offers/492aeffb-199a-43d1-adbf-2761c3ee5ff1/cdee488a-fd62-4f0d-9612-700342aca7fc.png",
"metadata": null
}
],
"events": [
{
"offerEventId": "6ce66ca1-962f-40b5-a79e-7a70b7920fa3",
"name": "Install",
"sequenceNumber": 1,
"reward": null,
"deadlineDays": null,
"rewardPendingDays": 0
"allowRepetitions": true
},
{
"offerEventId": "05e9abeb-a747-4652-be33-90a0b3ba845a",
"name": "Check your account",
"sequenceNumber": 3,
"reward": null,
"deadlineDays": 1,
"rewardPendingDays": 0
"allowRepetitions": true
},
{
"offerEventId": "31068676-736c-4514-92bf-7844eb84effc",
"name": "Signup",
"sequenceNumber": 2,
"reward": null,
"deadlineDays": 1,
"rewardPendingDays": 5
"allowRepetitions": true
}
],
"categories": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string"
}
],
"placements": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"name": "string",
"pinnedPosition": 0
}
],
"hasPreviousPage": false,
"hasNextPage": true
}
}
}
Did this answer your question?