Type Definitions

ServiceStatusType

type: string
oneof:
 "ok" // if everything is alright
 "partial" // if the service is experiencing partial disconnects / issues
 "timeout" // do not send. Used internally if no status was reported
 "offline" // do not send. Used internally if no status was reported
 "rebooting" // send once on server startup
 "fatal" // send if a fatal error occured that requires human interaction

GameInfo

interface GameInfo {
    urls: {
        default: string, // The url to use
        browser: string, // A url that opens in the browser. Should almost always be the same as "default".
        client?: string, // A url that opens in the related desktop client. 
        org: string // The original url. The other links above might get anonymous ctr analytics in the future. We will let you know in advance once this change happens.
    }
    url: string // Proxy url. DEPRECATED, use urls.default
    org_url: string // Direct url. Please use the "url" field for href. DEPRECATED, use urls.org
    title: string // Game's title
    org_price: { // Price before the discount
        euro: number
        dollar: number
    }
    price: { // Price after the discount
        euro: number
        dollar: number
    }
    thumbnail: {
        org: string // Url to the original thumbnail image
        blank: string // Proxied and properly cropped thumbnail image
        full: string // Proxied image with all available extra info
        tags: string // Proxied image with game tags above thumbnail
    }
    kind: ProductKind // What kind of product it is
    tags: string[] // Tags for the game, mostly genres
    description?: string // Short description about the game
    rating?: number // A rating for the game. Might not be included if no ratings were found
    notice?: string // An optional text filed with additional information provided by our team
    until?: number // UNIX timestamp in seconds (time / 1000) of the moment the offer expires
    store: @Store // Game's store
    flags: @GameFlags // Flags
    type: @AnnouncementType // Type of announcement
    store_meta: {
        steam_subids: string // Empty if store !== "steam". Contains subids divided by a space otherwise.    
    }
    localized?: { // Only present if requested
        'en-US': LocalizedGameInfo
        ...: LocalizedGameInfo
    }
}

LocalizedGameInfo

interface LocalizedGameInfo {
  lang_name: string
  lang_name_en: string
  lang_flag_emoji: string
  platform: string
  claim_long: string
  claim_short: string
  free: string
  header: string
  footer: string
  org_price_eur: string
  org_price_usd: string
  until: string
  until_alt: string
  flags: string[]
}

Store

type: string
oneof:
 "steam"
 "epic"
 "humble"
 "gog"
 "origin"
 "uplay"
 "twitch"
 "itch"
 "discord"
 "apple"
 "google"
 "switch"
 "ps"
 "xbox"
 "other"

AnnouncementType

type: string
oneof:
 "free"
 "weekend"
 "discount"
 "ad"
 "unknown"

GameFlags

type: number/bitfield

enum GameFlag {
  TRASH = 1 << 0, // Low quality game
  THIRDPARTY = 1 << 1, // Third party key provider
}

ProductKind

type: string
oneof:
 "game"
 "dlc"
 "software"
 "art"
 "ost"
 "book"
 "other"

Last updated