Using
Returns a key's TTL expiry and last-modified time without reading its value (no VLog dereference). `last_modified_at` is the write time of the newest visible version (PUT, or PATCH …/null) — not a creation timestamp; every overwrite advances it.
applies to v0.5.1GET
/store-api/kv/{domain}/keys/{key}/meta
const url = 'https://example.com/store-api/kv/example/keys/example/meta';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/store-api/kv/example/keys/example/meta \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”domain
required
string
Domain name
key
required
string
Key (valid UTF-8, max 256 bytes)
Responses
Section titled “Responses”Key metadata
Media typeapplication/json
object
expires_at
Absolute Unix-seconds TTL expiry; null when the key has no TTL. Equal to the X-Expires-At header when present.
integer | null format: int64
last_modified_at
required
Unix-milliseconds write time of the newest visible version (PUT, or PATCH …/null) — not a creation timestamp; every overwrite advances it.
integer format: int64
Example generated
{ "expires_at": 1, "last_modified_at": 1}Invalid key
Media typetext/plain
string
Key or domain not found
Media typetext/plain
string
Domain is being deleted
Media typetext/plain
string
Rate limit exceeded
Media typetext/plain
string
Headers
Section titled “Headers”Retry-After
integer format: int64