Get live lock state
Reads the provider live state for one active lock. Requires `lock-state:read`.
GET /v1/locks/{lockId}/state
Reads the provider live state for one active lock. Requires lock-state:read.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
lockId | path | Yes | string | — |
GET
Request examples
curl --request GET --url "https://app.myremotely.ai/v1/locks/{lockId}/state"const response = await fetch("https://app.myremotely.ai/v1/locks/{lockId}/state", {
method: "GET",
});
const data = await response.json();Responses
200 A live locked or unlocked result, or unknown with a stable reason. This is distinct from cached connectivity.
application/json
{
"state": "unlocked",
"checkedAt": "2026-09-16T12:00:03.000Z"
}400 InvalidRequestProblem
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | — |
title | string | Yes | — |
detail | string | Yes | — |
code | string | Yes | — |
requestId | string | Yes | — |
status | number | Yes | — |
{
"type": "https://app.myremotely.ai/en/docs/errors#invalid-request",
"title": "Invalid request",
"status": 400,
"detail": "The limit or cursor is malformed.",
"code": "invalid_request",
"requestId": "request_demo_01"
}401 UnauthorizedProblem
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | — |
title | string | Yes | — |
detail | string | Yes | — |
code | string | Yes | — |
requestId | string | Yes | — |
status | number | Yes | — |
{
"type": "https://app.myremotely.ai/en/docs/errors#invalid-api-key",
"title": "Unauthorized",
"status": 401,
"detail": "Provide a valid API key.",
"code": "invalid_api_key",
"requestId": "request_demo_01"
}403 ForbiddenProblem
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | — |
title | string | Yes | — |
detail | string | Yes | — |
code | string | Yes | — |
requestId | string | Yes | — |
status | number | Yes | — |
{
"type": "https://app.myremotely.ai/en/docs/errors#missing-scope",
"title": "Forbidden",
"status": 403,
"detail": "The locks:read scope is required.",
"code": "missing_scope",
"requestId": "request_demo_01"
}404 NotFoundProblem
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | — |
title | string | Yes | — |
detail | string | Yes | — |
code | string | Yes | — |
requestId | string | Yes | — |
status | number | Yes | — |
{
"type": "https://app.myremotely.ai/en/docs/errors#lock-not-found",
"title": "Not found",
"status": 404,
"detail": "The requested lock was not found.",
"code": "lock_not_found",
"requestId": "request_demo_01"
}429 RateLimitedProblem
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | — |
title | string | Yes | — |
detail | string | Yes | — |
code | string | Yes | — |
requestId | string | Yes | — |
status | number | Yes | — |
{
"type": "https://app.myremotely.ai/en/docs/errors#rate-limited",
"title": "Too many requests",
"status": 429,
"detail": "Try the request again later.",
"code": "rate_limited",
"requestId": "request_demo_01"
}500 InternalProblem
application/problem+json
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | — |
title | string | Yes | — |
detail | string | Yes | — |
code | string | Yes | — |
requestId | string | Yes | — |
status | number | Yes | — |
{
"type": "https://app.myremotely.ai/en/docs/errors#internal-error",
"title": "Internal error",
"status": 500,
"detail": "The request could not be completed.",
"code": "internal_error",
"requestId": "request_demo_01"
}Last updated Sep 19, 2026