Skip to main content

Update Offers

Written by GoKart Support

Endpoint

PUT /api/v1/sdk-offer-management/{product}/offers/{id}

This endpoint allows users to update an existing offer programmatically. It is commonly used for ongoing offer management and supports operational workflows where offers are continuously refined, adjusted, or optimized through external systems.


Product Path Parameter

Name

Type

Description

{product}

string

Defines the tenant's subscripton context. Must be one of: publisher, aff-network, or advertiser.

{id}

string (UUID)

The unique identifier of the offer

Note:

  • If you’re unsure which value to use for your {product} path, please reach out to the GoKart support chat for guidance.

  • If the incorrect {product} value is used, the request will fail with a 403 Forbidden response.


Request Payload Scheme

Field Name

Type

Description

Example

Required

id

string (UUID)

Unique identifier for the offer to update.

3fa85f64-5717-4562-b3fc-2c963f66afa6

Yes

trackingSystemLink

string

Tracking URL used for the offer redirect.

Yes

trackingSystem

string

Attribution provider used for the offer.

Appsflyer

Yes

name

string

Name of the offer (display title).

SiriusXM

Yes

advertiserCampaignName

string

Name of the campaign provided by the advertiser

Campaign_test_ios

No if shouldSendCostData is false

headline

string

Short, attention-grabbing summary of the offer.

Get 3 months of streaming for only $1

Yes

shortDescription

string

Brief description of the offer.

Stream sports, music, podcasts and more

No

keyPoints

string

Key highlights of the offer.

Subscribe for 3 month trial for $1

No

offerDetails

string

Detailed instructions or requirements for completion.

Download Bingo Blitz Complete Level "Rome"

Yes

termsAndDisclaimers

string

Terms, conditions, and disclaimers.

Must make first trade. Award within 30 days

No

offerType

string (enum)

Type of offer (SingleEvent, MultiEvent).

MultiEvent

Yes

conversionType

string (enum)

Revenue model (FlatRate, RevShare).

FlatRate

Yes

advertiserId

string (UUID)

Unique identifier for the advertiser.

3fa85f64-5717-4562-b3fc-2c963f66afa6

Yes

isFeatured

boolean

Indicates whether the offer is featured.

true

No

dailyCap

number

Maximum number of daily conversions allowed.

100

No

weeklyCap

number

Maximum number of weekly conversions allowed.

500

No

monthlyCap

number

Maximum number of monthly conversions allowed.

2000

No

allTimeCap

number

Maximum total conversions allowed.

10000

No

allowRepetitions

boolean

Indicates if the offer can be completed multiple times.

false

No

budgetType

string

Type of budget applied to the offer.

Daily

Yes

budgetAmount

number

Budget allocated to the offer.

1000

Yes

launchDate

string (ISO 8601)

Date the offer was launched.

2025-02-27T23:00:00Z

Yes

endDate

string (ISO 8601)

Date the offer expires.

2025-02-27T23:00:00Z

No

deviceTypes

string | array

Supported device types.

iOS, Android

No

revenue

number

Revenue generated per conversion.

30

Yes for Multi-Event

reward

number

Reward amount given to the user.

10

Yes for Multi-Event

rewardingType

string

Defines how rewards are issued.

Automatic

Yes for Multi-Event

pendingTime

number

Number of days the conversion status remains Pending

10

Yes for Multi-Event

baselineEpc

string (enum)

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

5

Yes

lockBaselineEpc

boolean

Indicates if EPC is locked.

false

Yes

ageId

string (UUID)

Age targeting identifier.

uuid

Yes

categoryIds

array (UUID)

List of category IDs.

[uuid1, uuid2]

Yes

countryIds

array (UUID)

List of targeted countries.

[US, CA]

Yes

countryStateIds

array (UUID)

List of targeted states/regions.

[CA-ON]

No

zipCodes

array (string)

List of targeted ZIP/postal codes.

[92801, 90001]

No

genderIds

array (UUID)

List of targeted genders.

[male, female]

No

showAtBottomToAllUnselectedGenders

boolean

Controls fallback behavior for gender targeting.

false

No

placementIds

array (UUID)

List of placement identifiers.

[uuid1, uuid2]

No

shouldSendCostData

boolean

Indicates if cost data should be sent to Singular/Appsflyer

true

No

offerCostReportInfo

array

Additional cost/reporting info for the advertiser.

[{...}]

No if shouldSendCostData is false

offerCostReportInfo.costType

string

Type of cost model used for reporting. Supported values: CPI, CPA

CPI

No if shouldSendCostData is false

offerCostReportInfo.appName

string

Name of the app associated with the offer.

Coin Game

No if shouldSendCostData is false

offerCostReportInfo.storeId

string

App store identifier (e.g., App Store ID or Google Play package name).

com.example.app

No if shouldSendCostData is false

offerEvents

array

List of event objects for multi-event offers.

[{...}]

Yes for Multi-Event

offerEvents.id

string (UUID)

Unique identifier for the event.

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

Yes for Multi-Event

offerEvents.name

string

Name of the event.

Install

Yes for Multi-Event

offerEvents.showOnOfferWall

boolean

Indicates if the event is visible on the offer wall.

true

Yes for Multi-Event

offerEvents.eventId

string

External identifier for the event.

Level 1

Yes for Multi-Event

offerEvents.displayOrder

number

Display order of the event.

2

Yes for Multi-Event

offerEvents.sequenceNumber

number | null

Sequence order of the event; null if independent.

3

Yes for Multi-Event

offerEvents.minTimeFromPreviousEvent

number | null

Minimum time required after previous event

24

No

offerEvents.deadlineDays

number | null

Days allowed to complete the event.

30

No

offerEvents.pendingTime

number | null

Number of days the conversion status remains Pending

30

Yes for Multi-Event

offerEvents.hasRevenue

boolean

Indicates if the event has revenue.

true

Yes for Multi-Event

offerEvents.revenue

number | null

Revenue for the event.

5

Yes for Multi-Event

offerEvents.hasReward

boolean

Indicates if the event has a reward.

true

Yes for Multi-Event

offerEvents.useDefaultRatio

boolean

Uses default reward/revenue ratio.

true

Yes for Multi-Event

offerEvents.reward

number | null

Reward amount for the event.

2

Yes for Multi-Event

offerEvents.dailyCap

number | null

Daily cap for the event.

100

No

offerEvents.weeklyCap

number | null

Weekly cap for the event.

500

No

offerEvents.monthlyCap

number | null

Monthly cap for the event.

2000

No

offerEvents.allTimeCap

number | null

Total cap for the event.

10000

No

creatives

array

List of creative assets.

[{...}]

Yes

creatives.order

integer

Position index of the creative.

1

Yes

creatives.url

string

URL of the creative asset.

Yes

creatives.metadata

string | null

Optional metadata for the creative.

banner

No


Response scheme

Name

Type

Sample

Notes

Id

Guid

"Id": "a1b2c3d4-..."

The unique identifier of the updated offer.

Did this answer your question?