POST/v1/devices/{device-id}/remote-activationRemote activate a device

This method allows you to remotely activate a device, using a gateway. The status of the server-call and the lock-activation are displayed differently. If the server returns a 200, that means that the server-call has succeeded. The result of the lock-activation is logged in the body of the return object.
parameteruuidWeb-key UUID for unauthenticated remote activation: String, UUID 4 formatted (e.g. "a426e157-8a5c-456a-8865-bec6394867ab")
parameterlanguagePreferred language for error messages: Language code (ISO 639-1, e.g. "ar", "de", "en", "es", "fr", "it", "nl", "pl", "cs")
parameterkeepActiveUntilISO local date-time (in the time zone of the device) until which the device should stay active. When given, the device is put in keep-active mode instead of performing a regular activation. Not available for web-key activations.: String
parameterallowButtonKeepActiveCancelWhether the keep-active mode may be cancelled with the device button. Only used with keepActiveUntil.: Boolean
headerAuthorizationAuthentication token (bearer token or API key).

Response

status200All ok
status401Invalid authentication token
status403Insufficient rights
status404Device/Gateway not found
{
"deviceId" : Number,
"errorCode" : String,
"errorMessage" : String,
"activationTime" : Number
}

Example: Remote activate, lock firmware <= 83 || gateway firmware <= 32

POST/v1/devices/1/remote-activation

headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status400
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"message": "A new firmware update is available for your Bold product. We recommend to update to the newest version to have the best experience.",
"code": "DeviceFirmwareOutdated",
"errorMessage": "A new firmware update is available for your Bold product. We recommend to update to the newest version to have the best experience.",
"errorCode": "DeviceFirmwareOutdated"
}

Example: Remote activate without gateway

POST/v1/devices/2/remote-activation

headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status400
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"message": "No available Connect for Device 2 found. Please check if your connect is online.",
"code": "gatewayNotFoundError",
"errorMessage": "No available Connect for Device 2 found. Please check if your connect is online.",
"errorCode": "gatewayNotFoundError"
}

Example: Remote activate

POST/v1/devices/1/remote-activation

headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"deviceId": 1,
"errorCode": "OK",
"errorMessage": "OK"
}

Example: Remote activate with uuid (web-key)

POST/v1/devices/1/remote-activation

parameteruuidb1e8923e-4849-45d2-94c1-e1a48f20b84e

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"deviceId": 1,
"errorCode": "OK",
"errorMessage": "OK"
}

Example: Remote activate with keep-active, organization without keep-active permission

POST/v1/devices/1/remote-activation

parameterkeepActiveUntil2026-08-22T15:11:20
headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status403
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"message": "The request was a legal request, but the server is refusing to respond to it.",
"errorMessage": "The request was a legal request, but the server is refusing to respond to it."
}

Example: Remote activate with keep-active, lock firmware < 140

POST/v1/devices/4/remote-activation

parameterkeepActiveUntil2026-08-22T15:11:20
headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status400
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"message": "A new firmware update is available for your Bold product. We recommend to update to the newest version to have the best experience.",
"code": "DeviceFirmwareOutdated",
"errorMessage": "A new firmware update is available for your Bold product. We recommend to update to the newest version to have the best experience.",
"errorCode": "DeviceFirmwareOutdated"
}

Example: Remote activate with keep-active in the past

POST/v1/devices/4/remote-activation

parameterkeepActiveUntil2026-08-20T15:11:20
headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status400
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"message": "The keep-active time you've requested is invalid. Please try again.",
"code": "KeepActiveTimeBeforeCurrentTime",
"errorMessage": "The keep-active time you've requested is invalid. Please try again.",
"errorCode": "KeepActiveTimeBeforeCurrentTime"
}

Example: Remote activate with keep-active

POST/v1/devices/4/remote-activation

parameterkeepActiveUntil2026-08-22T15:11:20
parameterallowButtonKeepActiveCanceltrue
headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"deviceId": 4,
"errorCode": "OK",
"errorMessage": "OK"
}

Example: Remote activate with keep-active, personal organization with keep-active permission

POST/v1/devices/1/remote-activation

parameterkeepActiveUntil2026-08-22T15:11:20
headerAuthorizationBearer bca77342-874c-4a08-8abd-0e3f8808517e

Response

status200
headerAccess-Control-Expose-Headersauthorization, content-type
headerAccess-Control-Allow-Headersauthorization, content-type
headerAccess-Control-Allow-MethodsGET, POST, DELETE, OPTIONS, PUT
headerAccess-Control-Allow-Origin*
headerStrict-Transport-Securitymax-age=31536000; includeSubDomains
headerX-Frame-OptionsSAMEORIGIN
headerX-Content-Type-Optionsnosniff
headerX-XSS-Protection1; mode=block
headerContent-Security-Policydefault-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
headerReferrer-Policyno-referrer
headerFeature-Policyself
headerPermissions-policyinterest-cohort=()
{
"deviceId": 1,
"errorCode": "OK",
"errorMessage": "OK"
}