Submits a batch of usage transactions captured against a license session.
const url = 'https://example.com/api/v1/provision/usage/sessions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/transactions';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '[{"transactionId":1,"sessionId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","apiVersion":1,"creationDateTime":"2026-04-15T12:00:00Z","eventName":"example","eventData":"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/v1/provision/usage/sessions/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/transactions \ --header 'Content-Type: application/json' \ --data '[ { "transactionId": 1, "sessionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "apiVersion": 1, "creationDateTime": "2026-04-15T12:00:00Z", "eventName": "example", "eventData": "example" } ]'Requires the license token issued for this session — not a user or service bearer. The token is bound to the session it was issued for, so a bearer that authenticates successfully but was issued for a different session, or for a user, is refused with 403. Send no bearer and the request is 401.
SDK callers get this automatically: the client captures the license token during activation through its authentication provider, so the first upload already carries it.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Active license session. Must be the session the bearer token was issued for.
Request Bodyrequired
Section titled “Request Bodyrequired”Batch of client-side usage records.
One usage event in the SDK’s client-side transaction log, uploaded (online or via the offline transaction-ingest flow) for server-side processing.
object
Monotonically increasing id assigned by the local transaction store; the server acknowledges the highest processed id.
Type name of the event object serialized into string ClientTransactionRecord.EventData.
The event payload as JSON.
Examplegenerated
[ { "transactionId": 1, "sessionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "apiVersion": 1, "creationDateTime": "2026-04-15T12:00:00Z", "eventName": "example", "eventData": "example" }]One usage event in the SDK’s client-side transaction log, uploaded (online or via the offline transaction-ingest flow) for server-side processing.
object
Monotonically increasing id assigned by the local transaction store; the server acknowledges the highest processed id.
Type name of the event object serialized into string ClientTransactionRecord.EventData.
The event payload as JSON.
Examplegenerated
[ { "transactionId": 1, "sessionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "apiVersion": 1, "creationDateTime": "2026-04-15T12:00:00Z", "eventName": "example", "eventData": "example" }]One usage event in the SDK’s client-side transaction log, uploaded (online or via the offline transaction-ingest flow) for server-side processing.
object
Monotonically increasing id assigned by the local transaction store; the server acknowledges the highest processed id.
Type name of the event object serialized into string ClientTransactionRecord.EventData.
The event payload as JSON.
Examplegenerated
[ { "transactionId": 1, "sessionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "apiVersion": 1, "creationDateTime": "2026-04-15T12:00:00Z", "eventName": "example", "eventData": "example" }]Responses
Section titled “Responses”OK
Unauthorized
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Forbidden
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}