Loading documentation…
Loading documentation…
Interpret terminal Inventory outcomes without confusing them with data or settlement.
Events v1 contain id, version, type, occurred_at, project_id, data and links. The SSE quickstart shows a complete envelope. Webhooks carry the same immutable JSON envelope.
| Field | Meaning |
|---|---|
id | Stable evt_ plus 32 lowercase UUID hex digits; use for deduplication |
version | Envelope version, currently 1 |
type | inventory.refresh.completed or inventory.refresh.failed |
occurred_at | Inventory terminal time in UTC, not projection or delivery time |
project_id | Owning immutable prj_… identity |
data.refresh_id | Existing hyphenated Refresh UUID |
data.state | completed or failed, consistent with the event type |
data.outcome | Safe terminal outcome below |
links.refresh | Relative /v2/steam/inventory-refreshes/{refresh_id} API resource |
| Outcome | Type/state | Meaning |
|---|---|---|
complete_changed | completed | A complete changed inventory was published |
complete_unchanged | completed | Collection completed without a changed publication |
private | completed | Inventory privacy prevented a public inventory result |
not_found | completed | The requested inventory was not found |
incomplete | failed | Complete collection was not achieved |
temporarily_unavailable | failed | Upstream availability prevented completion |
unsupported_scope | failed | The requested scope could not be completed |
recovery_exhausted | failed | Bounded internal recovery ended without completion |
There are no inventory assets, Customer IDs, credentials, balance/allowance records, upstream error bodies or internal jobs in an event. A rejected admission, intermediate provider retry, Current read or Live Page read does not create a terminal refresh event. Returning the same accepted refresh again does not create another event. Empty successful inventories retain the actual changed/unchanged outcome; no invented asset count is included.
Ignore unknown optional fields. Do not reinterpret unknown versions or terminal outcomes as success. A changed meaning or removed field requires a versioned contract extension. Use API reference for current response schemas.