Store a batch of technical telemetry from a device (sent by the hub with sendBeacon).
POST
/api/telemetry
const url = 'https://example.com/api/telemetry';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"deviceId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","sessionId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","context":{"hubVersion":"example","deviceClass":"example","viewportWidth":1,"viewportHeight":1,"pixelRatio":1,"cores":1,"memoryGb":1,"displayMode":"browser","theme":"light","locale":"vi"},"events":[{"kind":"example","source":"hub","gameId":"example","gameVersion":"example","name":"example","message":"example","stack":"example","count":1,"value":1,"buckets":[1],"slowestMs":1,"stepP50Ms":1,"stepP95Ms":1,"renderer":"example"}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/telemetry \ --header 'Content-Type: application/json' \ --data '{ "deviceId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "sessionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "context": { "hubVersion": "example", "deviceClass": "example", "viewportWidth": 1, "viewportHeight": 1, "pixelRatio": 1, "cores": 1, "memoryGb": 1, "displayMode": "browser", "theme": "light", "locale": "vi" }, "events": [ { "kind": "example", "source": "hub", "gameId": "example", "gameVersion": "example", "name": "example", "message": "example", "stack": "example", "count": 1, "value": 1, "buckets": [ 1 ], "slowestMs": 1, "stepP50Ms": 1, "stepP95Ms": 1, "renderer": "example" } ] }'Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
deviceId
required
string format: uuid
sessionId
required
string format: uuid
context
required
object
hubVersion
required
string
deviceClass
required
string
viewportWidth
required
integer format: int32
viewportHeight
required
integer format: int32
pixelRatio
required
number format: double
cores
null | integer format: int32
memoryGb
null | number format: double
displayMode
string
theme
string
locale
string
events
required
Array<object>
object
kind
required
string
source
string
gameId
null | string
gameVersion
null | string
name
null | string
message
null | string
stack
null | string
count
null | integer format: int32
value
null | number format: double
buckets
Array<integer> | null
slowestMs
null | number format: double
stepP50Ms
null | number format: double
stepP95Ms
null | number format: double
renderer
null | string
Responses
Section titled “Responses”Accepted
No Content
Bad Request
Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
errors
object
key
additional properties
Array<string>
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example", "errors": { "additionalProperty": [ "example" ] }}Payload Too Large
Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Too Many Requests
Media typeapplication/problem+json
object
type
null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
Example generated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}