Returns the store's published limits (the live-record cap of each kind, the sealed-payload ceiling, the history depth and the 30-day retention) and how many live records of each kind the caller holds.
A client checks a save against these before it starts. The payload ceiling counts the decoded bytes of payload alone, not wrapped_dek.
GEThttps://api.aitronos.com/v1/sealed-stores/{store}
store string required
The store: aitronos-browser. Up to 64 characters; an unknown store is 404 SEALED_STORE_NOT_FOUND.
Authorization string required
Bearer <access token> from the person's own sign-in. API keys and service accounts are refused with 403 SEALED_STORE_PERSONAL_SESSION_REQUIRED.
200 OK:
objectstring —sealed_store.storestring — the store's name.kindsarray — one entry per record kind the store holds:kindstring —sessionorfavourites.max_live_recordsinteger — the most live records of this kind one person may hold.live_recordsinteger — how many the caller holds now. Deleted records do not count.
limitsobject — the published limits:payload_max_bytesinteger — the most decoded bytes of one record'spayload(524,288).payload_min_bytesinteger — the fewest decoded bytes of a sealed value: a 12-byte nonce plus a 16-byte tag (28).payload_ceiling_countsstring — alwayspayload: the ceiling counts the payload only, notwrapped_dek.superseded_payload_max_bytesinteger — the most decoded bytes of one superseded entry's payload (65,536).superseded_max_per_recordinteger — superseded entries one record holds within the retention (200).superseded_max_per_storeinteger — superseded entries one store holds within the retention (2,000).account_key_max_bytesinteger — the most decoded bytes of the account key blob (2,048).history_max_revisionsinteger — revisions kept per record, newest first (100).history_max_per_storeinteger — revisions kept across all of the store's records, newest first (1,000).tombstones_max_per_storeinteger — deleted records kept per store (500). Deleting past it removes the oldest tombstone early, and feed cursors from before that are then refused as expired.operations_max_per_storeinteger — rememberedIdempotency-Keyanswers per store, each also for at most the retention (50,000). A retry whose answer is gone is applied again under the record's own rules: its id, its revision or its key.retention_daysinteger — how long tombstones, history, superseded entries,Idempotency-Keyanswers and feed cursors are kept (30).feed_max_limitinteger — the largestlimitone feed page accepts (500).feed_page_max_payload_bytesinteger — the decoded payload bytes after which a feed page stops early (8,388,608).
wrapped_key_versioninteger — thevof every wrapped key the store returns (1).
| Status | Code | When |
|---|---|---|
| 401 | AUTHENTICATION_REQUIRED | No access token, or one that is not valid. |
| 403 | SEALED_STORE_PERSONAL_SESSION_REQUIRED | The call used an API key or a service account. Only a person's own sign-in session reaches a sealed store. |
| 404 | SEALED_STORE_NOT_FOUND | No store with that name (details.store). |
| 422 | VALIDATION_ERROR | store is longer than 64 characters. |
cURL
- Bash
- Python
- JavaScript
curl "https://api.aitronos.com/v1/sealed-stores/aitronos-browser" \
-H "Authorization: Bearer $ACCESS_TOKEN"Response:
{
"object": "sealed_store",
"store": "aitronos-browser",
"kinds": [
{
"kind": "session",
"max_live_records": 500,
"live_records": 37
},
{
"kind": "favourites",
"max_live_records": 1,
"live_records": 1
}
],
"limits": {
"payload_max_bytes": 524288,
"payload_min_bytes": 28,
"payload_ceiling_counts": "payload",
"superseded_payload_max_bytes": 65536,
"superseded_max_per_record": 200,
"superseded_max_per_store": 2000,
"account_key_max_bytes": 2048,
"history_max_revisions": 100,
"history_max_per_store": 1000,
"tombstones_max_per_store": 500,
"operations_max_per_store": 50000,
"retention_days": 30,
"feed_max_limit": 500,
"feed_page_max_payload_bytes": 8388608
},
"wrapped_key_version": 1
}