post/key/heartbeat

Heartbeat Floating Session

Send a periodic heartbeat to maintain an active floating license session.

Authentication required: Bearer Token in Authorization header.

Parameters

Idempotency-Key
headerstring

Use a unique value to safely retry this request without repeating its effects.

Example<IDEMPOTENCY-KEY>

Request Body (application/json)

productIdrequired
string
licenseKeyrequired
string
sessionIdrequired
string

The floating-session identifier returned by checkout.

timestamprequired
string | integer

The cryptographic nonce (nextNonce) received from the previous checkout or heartbeat response. Despite the field name, current server code requires nonce equality and does not accept arbitrary client timestamps.

signaturerequired
string

HMAC-SHA256 signature generated using the sessionSecret over the payload 'sessionId:nonce'.

Responses

200Heartbeat extended successfully
410Session checked in or expired

Response Body (200)

code
integer
message
string
expiresAt
string
nextNonce
string

The newly rotated cryptographic nonce generated by the server. This must be used for the next subsequent heartbeat or checkin request.

Request Example
curl -X POST "https://api.keymint.dev/key/heartbeat" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "productId": "string",
  "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX",
  "sessionId": "abc123sessionid22chars",
  "timestamp": "string",
  "signature": "string"
}'
Response (200 OK)
{
  "code": 0,
  "message": "string",
  "expiresAt": "2026-10-11T05:25:57.464Z",
  "nextNonce": "1700000000000"
}