EndpointsActivity

Push activity records for a session

Submit a batch of activity records against product-declared activity types. Records are validated per-record; the response carries a per-record status (`accepted` or `rejected` with a reason). Submitting a record whose `id` was already accepted is a safe no-op - it counts as `accepted` again and is not stored twice. The whole batch is rejected if the session does not exist or is revoked.

POST
/activity/push
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/activity/push" \  -H "Content-Type: application/json" \  -d '{    "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",    "records": [      {        "id": "7c3e0c6e-9c2a-4f1e-bd2b-1f9a3c6d8e10",        "type": "2f9a1c84-6b3e-4d52-9f08-1a7c3e5d9b20",        "value": {          "seconds": 1800        },        "timestamp": "2026-06-24T14:32:05Z"      },      {        "id": "a4f2b8d1-3e7c-4a90-8b6f-2c5d9e0a1b34",        "type": "8d3b6e10-4f29-4a71-bc52-9e0a1c7d3f64",        "value": {          "amount": 999,          "currency": "USD"        },        "timestamp": "2026-06-24T15:02:05Z"      }    ]  }'
{  "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",  "accepted": 2,  "rejected": 0,  "records": [    {      "id": "7c3e0c6e-9c2a-4f1e-bd2b-1f9a3c6d8e10",      "status": "accepted"    },    {      "id": "a4f2b8d1-3e7c-4a90-8b6f-2c5d9e0a1b34",      "status": "accepted"    }  ]}