コンテンツにスキップ

Get heatmap data

GET
/v1/projects/{id}/heatmap

Returns aggregated heatmap cells for a specific map. Each cell contains performance metrics (FPS, frame time, memory, GPU time) and event counts. Use in Performance mode (no eventName) for QA or Events mode (with eventName) for game design analysis.

id
required
string format: uuid

Project UUID.

mapId
required
string
<= 255 characters

User-specified map identifier to query heatmap data for.

cellSize
integer
default: 25
Allowed values: 5 10 25 50

Grid cell size in world units.

days
integer
default: 7
Allowed values: 1 7 14 30

Time period in days.

eventName
string

Filter by event name (e.g., player_death). Omit for performance mode.

includeZ
boolean

Set to true to bin cells vertically as well, producing 3D voxels. Each returned cell then includes a z coordinate, and the same x/y position may appear multiple times, once per Z layer. Values other than true or false are rejected with 400.

Array of heatmap cells.

object
success
boolean
data
Array<object>

Aggregated performance and event data for a single grid cell.

object
x

Cell center X coordinate in world space.

number
y

Cell center Y coordinate in world space.

number
z

Cell center Z coordinate in world space. Present only when the request sets includeZ=true; omitted otherwise.

number
weight

Normalized weight for visualization.

number
event_count

Number of events in this cell.

integer
avg_fps

Average FPS across all samples in this cell.

number
avg_frame_time

Average frame time (ms) across all samples.

number
avg_memory

Average memory usage (MB) across all samples.

number
avg_gpu_time

Average GPU time (ms), or null if no GPU data available.

number | null
avg_mem_vram

Average VRAM usage (MB), or null if no VRAM data available.

number | null
X-RateLimit-Limit
integer

Maximum number of requests allowed per hour.

X-RateLimit-Remaining
integer

Number of requests remaining in the current window.

X-RateLimit-Reset
integer

Unix timestamp when the rate limit window resets.

Invalid request parameters or body.

RFC 9457 Problem Details. Served with the application/problem+json media type. error_category, retryable, and retry_after are Framedash extension members. type always defaults to about:blank, so it is always present; detail and the extension members are present only when applicable.

object
type
required

Problem type URI; about:blank when no specific type applies.

string format: uri
default: about:blank
title
required

Short, human-readable summary of the problem type.

string
status
required

HTTP status code.

integer
detail

Human-readable explanation specific to this occurrence.

string
error_category

Extension member categorizing the error.

string
Allowed values: authentication authorization validation rate_limit not_found conflict payload internal
retryable

Extension member; true when retrying may succeed (e.g. 429, 503).

boolean
retry_after

Extension member; suggested retry delay in seconds, when applicable.

integer

Missing or invalid API key.

RFC 9457 Problem Details. Served with the application/problem+json media type. error_category, retryable, and retry_after are Framedash extension members. type always defaults to about:blank, so it is always present; detail and the extension members are present only when applicable.

object
type
required

Problem type URI; about:blank when no specific type applies.

string format: uri
default: about:blank
title
required

Short, human-readable summary of the problem type.

string
status
required

HTTP status code.

integer
detail

Human-readable explanation specific to this occurrence.

string
error_category

Extension member categorizing the error.

string
Allowed values: authentication authorization validation rate_limit not_found conflict payload internal
retryable

Extension member; true when retrying may succeed (e.g. 429, 503).

boolean
retry_after

Extension member; suggested retry delay in seconds, when applicable.

integer

Resource not found.

RFC 9457 Problem Details. Served with the application/problem+json media type. error_category, retryable, and retry_after are Framedash extension members. type always defaults to about:blank, so it is always present; detail and the extension members are present only when applicable.

object
type
required

Problem type URI; about:blank when no specific type applies.

string format: uri
default: about:blank
title
required

Short, human-readable summary of the problem type.

string
status
required

HTTP status code.

integer
detail

Human-readable explanation specific to this occurrence.

string
error_category

Extension member categorizing the error.

string
Allowed values: authentication authorization validation rate_limit not_found conflict payload internal
retryable

Extension member; true when retrying may succeed (e.g. 429, 503).

boolean
retry_after

Extension member; suggested retry delay in seconds, when applicable.

integer

Rate limit exceeded.

RFC 9457 Problem Details. Served with the application/problem+json media type. error_category, retryable, and retry_after are Framedash extension members. type always defaults to about:blank, so it is always present; detail and the extension members are present only when applicable.

object
type
required

Problem type URI; about:blank when no specific type applies.

string format: uri
default: about:blank
title
required

Short, human-readable summary of the problem type.

string
status
required

HTTP status code.

integer
detail

Human-readable explanation specific to this occurrence.

string
error_category

Extension member categorizing the error.

string
Allowed values: authentication authorization validation rate_limit not_found conflict payload internal
retryable

Extension member; true when retrying may succeed (e.g. 429, 503).

boolean
retry_after

Extension member; suggested retry delay in seconds, when applicable.

integer
X-RateLimit-Limit
integer

Maximum number of requests allowed per hour.

X-RateLimit-Remaining
integer

Number of requests remaining in the current window.

X-RateLimit-Reset
integer

Unix timestamp when the rate limit window resets.

Retry-After
integer

Number of seconds to wait before retrying. Present only on 429 responses. Because the limit uses a sliding window, honor this value per response rather than scheduling a retry for the reset time.