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
string (header)

Client-generated unique key making a mutating request idempotent. Replaying a request with the same key returns the original result instead of duplicating side effects. Optional on POST/PUT/PATCH/DELETE.

e.g. <IDEMPOTENCY-KEY>

Request Body (application/json)

productIdrequired
string
licenseKeyrequired
string
sessionIdrequired
string

The 22-character unique session ID

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-08-28T05:22:46.534Z",
  "nextNonce": "1700000000000"
}