Extensions
Features built for one workspace that run outside the platform, and the small documents each keeps in the workspace.
List extensions
Beta — this operation may change on 30 days notice. See versioning.
The extensions enabled in this workspace, with the scopes each was granted.
Requires the module-extensions license feature. Without it the request is refused with 403 license_required — see plans and modules.
query Parameters
cursor^[A-Za-z0-9_-]+$inst_statuslimitoffsetsort^-?[a-z0-9_]+$Headers
X-Tenant-IdThe workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.
List extensions › Responses
Success
has_moreWhether more rows exist past this page.
next_cursorPass back as cursor for the next page. Null on the last page.
List state documents
Beta — this operation may change on 30 days notice. See versioning.
The documents an extension keeps in this workspace, ordered by key. An extension calling with its own key or token sees only its own.
Requires the module-extensions license feature. Without it the request is refused with 403 license_required — see plans and modules.
path Parameters
slug^[a-z][a-z0-9-]{1,38… · requiredquery Parameters
cursor^[A-Za-z0-9_-]+$exs_keylimitoffsetsort^-?[a-z0-9_]+$Headers
X-Tenant-IdThe workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.
List state documents › Responses
Success
has_moreWhether more rows exist past this page.
next_cursorPass back as cursor for the next page. Null on the last page.
Get a state document
Beta — this operation may change on 30 days notice. See versioning.
One document by key. The ETag is its version; send it back as If-Match to update without overwriting a change made since.
Requires the module-extensions license feature. Without it the request is refused with 403 license_required — see plans and modules.
path Parameters
key^[A-Za-z0-9][A-Za-z0… · requiredslug^[a-z][a-z0-9-]{1,38… · requiredHeaders
X-Tenant-IdThe workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.
Get a state document › Responses
Success
exs_idexs_keyexs_valueexs_versionexs_createdexs_updatedexs_updated_byWrite a state document
Beta — this operation may change on 30 days notice. See versioning.
Creates or replaces the document under a key. Send If-Match with the ETag you read to refuse a lost update, or If-Match: * to update only an existing document. Documents are at most 256 KB, and an extension keeps at most 1000 in a workspace.
Requires the module-extensions license feature. Without it the request is refused with 403 license_required — see plans and modules.
path Parameters
key^[A-Za-z0-9][A-Za-z0… · requiredslug^[a-z][a-z0-9-]{1,38… · requiredHeaders
X-Tenant-IdThe workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.
Write a state document › Responses
Success
exs_idexs_keyexs_valueexs_versionexs_createdexs_updatedexs_updated_byDelete a state document
Beta — this operation may change on 30 days notice. See versioning.
Removes the document under a key.
Requires the module-extensions license feature. Without it the request is refused with 403 license_required — see plans and modules.
path Parameters
key^[A-Za-z0-9][A-Za-z0… · requiredslug^[a-z][a-z0-9-]{1,38… · requiredHeaders
X-Tenant-IdThe workspace this request acts in. Every row the API returns is isolated to it at the database layer by row-level security.
Delete a state document › Responses
Success
