PC & Console - API Endpoint Reference

PC & Console API Endpoint Reference

Complete API reference for PC and Console server-to-server endpoints, providing detailed parameter specifications and implementation examples for session tracking and event reporting.

Shared S2S parameters: Endpoints, authentication, and common request parameters are defined once in the S2S Fundamentals hub . This reference covers the PC & Console specifics only.

Enterprise Feature: PC and Console game attribution is an enterprise feature. To learn more, read the PC and Console Game Attribution FAQ or contact your Customer Success Manager.

Integration Guide: For complete implementation instructions and best practices, see PC & Console S2S Integration Guide .


Session Notification Endpoint

Report game launches and sessions to Singular for install attribution, re-engagement tracking, and user retention analytics.

Endpoint Specification

Method URL
GET https://s2s.singular.net/api/v1/launch

Purpose

Use Session Notification Endpoint to report all game launches (first and repeat sessions) in near real-time. First game launch received by Singular for install identified by Singular Device ID triggers attribution process.

Attribution Workflow:

  • First Session: Triggers install attribution matching against web campaign clicks
  • Subsequent Sessions: Tracked for user activity, retention, and re-engagement analytics
  • Real-Time Reporting: Send session notifications as close to actual game launch as possible

Session Parameters

Required Parameters

Authentication uses the shared a parameter (SDK Key). See Authentication in the S2S Fundamentals hub.

Parameter Details
p

string

Required. Case-sensitive. Platform where user plays game.

Supported Values:

  • pc
  • xbox
  • playstation
  • nintendo
  • metaquest

Example: pc

i

string

Required. Case-sensitive. Reverse DNS notation recommended. Game identifier unique for your game.

Critical: Must match Web SDK Product ID exactly for attribution to work. Use same value across all platforms for same game.

Example: com.singular.game

sdid

UUID

Required. UUID Version 4 format recommended. Singular Device ID identifying unique game installation and user activity.

Generation: Created by game/server at first launch, persists throughout game installation lifetime.

Example: 49c2d3a6-326e-4ec5-a16b-0a47e34ed953

os

string

Required. Custom values supported. Operating System or Game System.

Recommended values by platform:

PC: windows, linux, macos, steamos

Xbox: xbox_one, xbox_360, xbox_series_s, xbox_series_x

PlayStation: playstation_3, playstation_4, playstation_5

Nintendo: nintendo_switch

Meta Quest: metaquest, metaquest_2, metaquest_pro

Example: windows

install_source

string

Required. Custom values supported. Game store or distribution method.

Recommended Values:

  • steam
  • epicgamestore
  • microsoftstore
  • gog
  • humblestore
  • xbox
  • playstation
  • nintendo
  • metaquest
  • selfdistributed

Custom values supported.

Example: steam

ip

string

Required. IPv4 or IPv6 format. Not required if use_ip=true . IP address of device at time of game launch.

Alternative: Use use_ip=true to extract IP from HTTP request header instead of passing explicitly. See Network and location in the S2S Fundamentals hub.

Example: 172.58.29.235


Optional Parameters

Generic device properties ( ve , ua ), network parameters ( use_ip ), data privacy ( data_sharing_options ), and cross-device ( custom_user_id ) are shared across all S2S endpoints. See Device parameters , Network and location , Data privacy , and Cross-device in the S2S Fundamentals hub. The parameters below are PC & Console-specific.

Parameter Details
install_ref

string

Optional. First launch only. JSON URL-encoded Google Install Referrer information. Provides the most accurate attributrion for Native PC games distributed through Google Play Games store.

Requirements:

  • Requires implementing the Play Games PC SDK to pass the
  • Must be sent on first game launch only

See Google Play for Native PC Install Referrer documentation for implementation details.

Example: %7B%22install_time_epoch_seconds%22%3A%221568939453%22
%2C%22install_referrer%22%3A%22utm_source%3Dgoogle-play%26utm_medium%3Dorganic%22%7D

match_id

string

Optional. First launch only. Identifier for deterministic attribution matching web clicks to game installs.

Requirements:

  • Must be sent on first game launch only
  • Must match value from Web SDK implementation
  • If PII, must be hashed using SHA-256

See Match ID Attribution for implementation details.

Example: matchid_12345

av

string

Optional. Application version or game build identifier.

Example: 1.1.5.581823a

global_properties

JSON

Optional. URL-encoded JSON. Up to 5 properties, 200 characters max each. Key-value pairs saved for user and persisted across all subsequent requests.

Not sending previously set value unsets it.

Example: %7B%22key1%22%3A%22value1%22%7D

install

boolean

Optional. Install flag indicating first session after game installation. Required for reinstall tracking capabilities.

Example: true

utime

integer

Optional. UNIX timestamp (seconds). Timestamp of game launch in UNIX time.

Example: 1483228800

umilisec

integer

Optional. UNIX timestamp (milliseconds). Timestamp of game launch in UNIX time.

Example: 1483228800000


Request Examples

Sample Implementations

CURL PYTHON JAVASCRIPT

Basic Session Request

curl -G "https://s2s.singular.net/api/v1/launch" \
  --data-urlencode "a=your_sdk_key" \
  --data-urlencode "i=com.singular.game" \
  --data-urlencode "sdid=49c2d3a6-326e-4ec5-a16b-0a47e34ed953" \
  --data-urlencode "p=pc" \
  --data-urlencode "os=windows" \
  --data-urlencode "install_source=steam" \
  --data-urlencode "ip=172.58.29.235"

First Launch with Match ID

curl -G "https://s2s.singular.net/api/v1/launch" \
  --data-urlencode "a=your_sdk_key" \
  --data-urlencode "i=com.singular.game" \
  --data-urlencode "sdid=49c2d3a6-326e-4ec5-a16b-0a47e34ed953" \
  --data-urlencode "p=pc" \
  --data-urlencode "os=windows" \
  --data-urlencode "install_source=steam" \
  --data-urlencode "ip=172.58.29.235" \
  --data-urlencode "match_id=abc123def456" \
  --data-urlencode "install=true"

Event Notification Endpoint

Partner Conversion API support: To forward these events to ad network partners through Singular's Conversion API integrations, include the standard optional event attributes (hashed first-party data such as eventId and ehash). See Standard Event Attributes for Conversion API Integrations.

Report in-game events to Singular for analytics, campaign optimization, and partner forwarding.

Endpoint Specification

Method URL
GET https://s2s.singular.net/api/v1/evt

Purpose

Use Event Notification Endpoint to report all desired in-game events in near real-time. Event data used for analytics, reporting, partner optimization, and campaign performance measurement.

Event Best Practices:

  • Standard Events: Use Singular standard event names for automatic partner mapping
  • Real-Time Reporting: Send events as close to actual occurrence as possible
  • Revenue Events: Include revenue parameters for purchase tracking and ROI analysis

Event Parameters

Required Parameters

Authentication uses the shared a parameter (SDK Key). See Authentication in the S2S Fundamentals hub.

Parameter Details
p

string

Required. Case-sensitive. Platform where user plays game.

Supported Values: pc, xbox, playstation, nintendo, metaquest

Example: pc

i

string

Required. Case-sensitive. Reverse DNS notation recommended. Game identifier unique for your game.

Must match value used in session notifications and Web SDK Product ID.

Example: com.singular.game

sdid

UUID

Required. Singular Device ID identifying unique game installation.

Must match SDID used in session notifications.

Example: 49c2d3a6-326e-4ec5-a16b-0a47e34ed953

n

string

Required. 32 ASCII characters max. Event name identifying in-game action or milestone.

Recommended: Use Singular standard event names for automatic partner integration.

Example: sng_achievement_unlocked

os

string

Required. Custom values supported. Operating System or Game System.

Must match value used in session notifications.

Example: windows

install_source

string

Required. Custom values supported. Game store or distribution method.

Must match value used in session notifications.

Example: steam

ip

string

Required. IPv4 or IPv6 format. Not required if use_ip=true . IP address of device at time of event.

Example: 172.58.29.235


Optional Parameters

Generic device properties ( ve , ua ), network parameters ( use_ip ), data privacy ( data_sharing_options ), and cross-device ( custom_user_id ) are shared across all S2S endpoints. See Device parameters , Network and location , Data privacy , and Cross-device in the S2S Fundamentals hub. The parameters below are PC & Console-specific.

Parameter Details
e

JSON

Optional. URL-encoded JSON, 500 ASCII characters max per attribute. Custom event attributes providing rich information about event.

Recommended: Use Singular standard attribute names for partner compatibility.

Example: %7B%22sng_attr_content_id%22%3A5581%7D

is_revenue_event

boolean

Required for revenue events. Marks event as revenue event.

Can be omitted if event name is __iap__ or non-zero amt provided.

Example: true

amt

number

Required for revenue events. Currency amount for revenue event.

Use with cur parameter.

Example: 2.51

cur

string

Required for revenue events. ISO-4217 three-letter currency code for revenue event.

Use with amt parameter.

Reference: ISO-4217 Currency Codes

Example: EUR

av

string

Optional. Application version or game build identifier.

Example: 1.1.5.581823a

global_properties

JSON

Optional. URL-encoded JSON. Up to 5 properties, 200 characters max each. Key-value pairs saved for user.

Must persist across all subsequent requests if set.

Example: %7B%22key1%22%3A%22value1%22%7D

utime

integer

Optional. UNIX timestamp (seconds). Timestamp of event in UNIX time.

Example: 1483228800

umilisec

integer

Optional. UNIX timestamp (milliseconds). Timestamp of event in UNIX time.

Example: 1483228800000


Request Examples

Sample Implementations

CURL PYTHON JAVASCRIPT

Standard Event

curl -G "https://s2s.singular.net/api/v1/evt" \
  --data-urlencode "a=your_sdk_key" \
  --data-urlencode "i=com.singular.game" \
  --data-urlencode "sdid=49c2d3a6-326e-4ec5-a16b-0a47e34ed953" \
  --data-urlencode "p=pc" \
  --data-urlencode "os=windows" \
  --data-urlencode "install_source=steam" \
  --data-urlencode "n=sng_level_achieved" \
  --data-urlencode 'e={"sng_attr_level":"5","sng_attr_score":"1250"}' \
  --data-urlencode "ip=172.58.29.235"

Revenue Event

curl -G "https://s2s.singular.net/api/v1/evt" \
  --data-urlencode "a=your_sdk_key" \
  --data-urlencode "i=com.singular.game" \
  --data-urlencode "sdid=49c2d3a6-326e-4ec5-a16b-0a47e34ed953" \
  --data-urlencode "p=pc" \
  --data-urlencode "os=windows" \
  --data-urlencode "install_source=steam" \
  --data-urlencode "n=__iap__" \
  --data-urlencode "is_revenue_event=true" \
  --data-urlencode "amt=9.99" \
  --data-urlencode "cur=USD" \
  --data-urlencode "ip=172.58.29.235"

Response Handling

Both endpoints return consistent JSON responses requiring validation of status field for success or error determination.

Response Format

Important: All responses return HTTP 200 status codes. Always validate response body's status field to determine success ( ok ) or failure ( error ).

For complete response code documentation and error handling strategies, see S2S Response Codes & Error Handling .


Additional Resources