Skip to main content

Request Schema

Request Parameters

Written by GoKart Support

Note: All fields are required and must be included in the payload.

Field

Type

Description

Example

Validation

Required

concurrency RequestId

Guid

Ensures idempotency and handles concurrency scenarios.

3fa85f64-5717-4562-b3fc-2c963f66afa6

Must be a valid UUID format

true

operation

string

Specifies the operation type (e.g., Synchronize).

Synchronize

Allowed values:

Synchronize,Insert

true

offers

array

List of offers to create or update.

Must contain at least one item

true


Offers Array Structure

Note: All fields in the Offers Array are required and must be included in the payload. Fields marked as nullable can have a value of null.

Parameter

Type

Description

Example

Nullable

externalId

string

Unique identifier for the offer.

"12345"

false

offerData

array

List of offer details

false

offerLink

string

URL link to the offer.

false

trackingSystem

string

The tracking system from which conversions will be received.

"AppsFlyer"

false

name

string

Name of the offer.

"Special Discount Offer"

false

advertiserCampaignName

string

Name of the campaign provided by the advertiser

Campaign_test_ios

true

headline

string

Short headline for the offer.

"Big Sale Now!"

false

shortDescription

string

Brief description of the offer.

"Get a 50% discount on all items."

true

keyPoints

string

Key points to highlight the offer.

"Limited time only!"

true

offerDetails

string

Detailed information about the offer.

"Offer valid till stock lasts."

false

termsAndDisclaimers

string

Terms and disclaimers related to the offer.

"Terms apply."

true

creativeFileExternalUrl

string

URL to creative files related to the offer.

true

creatives

array

A list of creative asset associated with the offer.

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

false

creatives.order

integer

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

"1"

false

creatives.url

string

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

false

creatives.metadata

string

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

"banner"

false

isFeatured

boolean

Flag to mark the offer as featured.

true

false

isPaused

boolean

Indicates if the offer is paused.

false

false

advertiserName

string

Name of the advertiser.

"Advertiser Inc."

false

categoryNames

string

Categories under which the offer falls.

"Electronics"

false

offerType

string

Type of the offer:

SingleEvent,MultiEvent

"SingleEvent"

false

dailyCap

integer

Maximum number of times the offer can be completed per day

100

true

weeklyCap

integer

Maximum number of times the offer can be completed per week

500

true

monthlyCap

integer

Maximum number of times the offer can be completed per month

2000

true

allTimeCap

integer

Maximum number of times the offer can be completed in total (lifetime)

10000

true

ageFrom

integer

Minimum age of users eligible for the offer

18

true

ageTo

integer

Maximum age of users eligible for the offer

99

true

allowRepetitions

boolean

Indicates whether the same user can complete the offer multiple times

false

false

genders

string

List of genders eligible for the offer

["Male","Female"]

false

offerEvents

array

List of offer event details for MultiEvent

false

budgetType

string

Budget type:

Daily,Total

"Daily"

false

budgetAmount

number

Budget allocated for the offer.

5000

false

launchDate

string

Offer launch date.

"2025-01-01"

false

endDate

string

Offer end date.

"2025-12-31"

true

countryCodes

array

List of applicable country codes.

["US", "UK", "DE"]

false

deviceTypes

array

Supported device types:

IOS,Android,MacOS,Browser,All

["IOS", "ANDROID"]

false

revenue

number

Expected revenue from the offer.

10000

false

reward

number

Reward for completing the offer.

500

false

rewardingType

string

Type of reward distribution.

Manual,Automatic

"Manual"

false

pendingTime

number

Time the conversion remains in pending status.

24

false

baselineEpc

number

Epc value.

1

false

lockBaselineEpc

boolean

Flag to lock baseline EPC.

true

false


Offer Events Structure

Note: All fields in the Offer Events Array are required and must be included in the payload. Fields marked as nullable can have a value of null.

Parameter

Type

Description

Example

Nullable

eventId

string

Unique identifier for the event

0

false

name

string

Name of the event

Install

false

showOnOfferWall

boolean

Flag to determine whether this event should be displayed on the Offer Wall

true

false

sequenceNumber

integer

The order of the event in a multi-event flow (e.g., 1 for the first event)

1

false

minTimeFromPreviousEvent

integer

Minimum time (in minutes) that must pass after the previous event to count as valid

2

false

deadlineDays

integer

Number of days the user has to complete this event after the offer is started

10

false

pendingTime

integer

Time the conversion remains in pending status.

7

false

revenue

number

Expected revenue from the event.

10

false

reward

number

Reward for completing the event.

500

false

useDefaultRatio

boolean

If TRUE, the reward will be automatically calculated based on the platform’s default ratio

true

false

dailyCap

integer

Maximum number of times the offer can be completed per day

100

true

weeklyCap

integer

Maximum number of times the offer can be completed per week

500

true

monthlyCap

integer

Maximum number of times the offer can be completed per month

2000

true

allTimeCap

integer

Maximum number of times the offer can be completed in total (lifetime)

10000

true

allowRepetitions

boolean

Indicates whether the same user can complete the offer multiple times

false

false


JSON Example:

{
"concurrencyRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"operation": "Synchronize",
"offers": [
{
"externalId": "string",
"offerData": {
"offerLink": "string",
"trackingSystem": "AppsFlyer",
"name": "string",
"headline": "string",
"shortDescription": "string",
"keyPoints": "string",
"offerDetails": "string",
"termsAndDisclaimers": "string",
"creativeFileExternalUrl": "string",
"creatives": [
{
"order": 0,
"url": "string",
"metadata": "string"
}
],
"isFeatured": true,
"isPaused": true,
"advertiserName": "string",
"categoryNames": [
"string"
],
"offerType": "SingleEvent",
"dailyCap": 0,
"weeklyCap": 0,
"monthlyCap": 0,
"allTimeCap": 0,
"ageFrom": 0,
"ageTo": 0,
"allowRepetitions": true,
"genders": [
"string"
],
"offerEvents": [
{
"eventId": "string",
"name": "string",
"showOnOfferWall": true,
"displayOrder": 0,
"sequenceNumber": 0,
"minTimeFromPreviousEvent": 0,
"deadlineDays": 0,
"pendingTime": 0,
"revenue": 0,
"reward": 0,
"useDefaultRatio": true,
"dailyCap": 0,
"weeklyCap": 0,
"monthlyCap": 0,
"allTimeCap": 0,
"allowRepetitions": true
}
],
"budgetType": "Daily",
"budgetAmount": 0,
"launchDate": "2025-10-16T17:48:58.927Z",
"endDate": "2025-10-16T17:48:58.927Z",
"countryCodes": [
"string"
],
"deviceTypes": [
"IOS"
],
"revenue": 0,
"reward": 0,
"rewardingType": "Manual",
"pendingTime": 0,
"baselineEpc": 0,
"lockBaselineEpc": true
}
}
]
}
Did this answer your question?