Ingest traffic samples
Upserts a batch of anonymous aggregate visitor counts on the unique (sensor_id, bucket_start) key, so replayed at-least-once uplinks are free. Written by a device key holding `traffic:create`. No per-sample event is emitted.
Upserts a batch of anonymous aggregate visitor counts on the unique (sensor_id, bucket_start) key, so replayed at-least-once uplinks are free. Written by a device key holding traffic:create. No per-sample event is emitted.
Authorization
bearerAuth traffic:createA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: traffic:create
Header Parameters
Optional. Send a unique key per logical operation to make retries safe: a retry with the same key replays the stored success for 14 days instead of re-running the write. Reusing a key with a different body returns 400.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A batch of anonymous aggregate samples, upserted on (sensor_id, bucket_start).
1 <= items <= 1000Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "upserted": -9007199254740991}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}