Skip to main content

PlayerOffer

An offer the player has engaged with, in-progress or completed, with per-goal completion.

type PlayerOffer {
id: String!
campaign_id: Int!
name: String!
tracking_type: String!
total_payout_usd: Float!
total_amount: Float!
is_multi_reward: Boolean!
completion_difficulty: Int!
is_featured_campaign: Boolean!
campaign_vertical: String
store_id: String
start_datetime: String!
updated_at: String
attribution_window_days: Int
creatives: OfferCreatives!
links: OfferLinks!
platform_availability: [PlatformAvailability]!
goals: [OfferGoal]!
status: PlayerOfferStatus!
transaction_id: String!
started_at: String!
availability: OfferAvailability!
}

Fields

PlayerOffer.id ● String! non-null scalar

The unique id for the offer.

Example: "123456789012345678"

PlayerOffer.campaign_id ● Int! non-null scalar

The campaign id for the offer.

Example: 12345

PlayerOffer.name ● String! non-null scalar

The name of the offer.

Example: "Play Game X to level 10"

PlayerOffer.tracking_type ● String! non-null scalar

The tracking type of the offer.

Example: "CPE"

PlayerOffer.total_payout_usd ● Float! non-null scalar

The total payout in USD for completing every goal on the offer.

Example: 1.25

PlayerOffer.total_amount ● Float! non-null scalar

The total amount of virtual currency awarded for completing every goal on the offer.

Example: 125

PlayerOffer.is_multi_reward ● Boolean! non-null scalar

Indicates whether the offer rewards the player more than once.

Example: true

PlayerOffer.completion_difficulty ● Int! non-null scalar

The relative difficulty of completing the offer.

Example: 3

Indicates whether the offer is a featured campaign.

Example: false

PlayerOffer.campaign_vertical ● String scalar

The vertical the campaign belongs to.

Example: "Gaming"

PlayerOffer.store_id ● String scalar

The app store id for the offer.

Example: "com.example.game"

PlayerOffer.start_datetime ● String! non-null scalar

When the offer became available.

Example: "2026-06-01T00:00:00Z"

PlayerOffer.updated_at ● String scalar

When the offer was last updated.

Example: "2026-08-10T14:03:22Z"

PlayerOffer.attribution_window_days ● Int scalar

The number of days after engagement in which a conversion is still attributed.

Combined with started_at and a goal's maximum_completion_time_days, this makes the time a player has left derivable without a dedicated field.

Example: 30

PlayerOffer.creatives ● OfferCreatives! non-null object

PlayerOffer.platform_availability ● [PlatformAvailability]! non-null object

PlayerOffer.goals ● [OfferGoal]! non-null object

The offer's goals, each carrying whether this player has completed it.

PlayerOffer.status ● PlayerOfferStatus! non-null enum

The player's progress on the offer. Never reports a not-started state, since an offer only appears here once the player has engaged with it.

Example: IN_PROGRESS

PlayerOffer.transaction_id ● String! non-null scalar

The Player API transaction id behind this engagement, for correlation and support.

Example: "987654321098765432"

PlayerOffer.started_at ● String! non-null scalar

When the player engaged with the offer.

Example: "2026-08-14T09:12:44Z"

PlayerOffer.availability ● OfferAvailability! non-null enum

Whether the offer is still live. Disabled and deleted offers remain completable by a player who already started them, so they are reported rather than hidden.

Example: ACTIVE

Member Of

PlayerOffers object