Read the authenticated actor and organization context used by the Contracts application shell.
Access
Authenticate using the supported Contracts flow and intended organization. The declared action permission is app_topolo_contracts.workspace:read. Bootstrap returns verified actor/organization before workspace selection and grants no workspace access.
Steps
- Authenticate through the supported Contracts identity flow using your intended organization.
- Read user and organization from bootstrap; verify that the returned actor/context is the one intended.
- Discover/select a permitted workspace separately before accessing reviews, policies or documents.
Identifiers
- The returned actor/organization come from verified auth, not from example ids or a caller-supplied workspaceId field.
Request
GET /api/bootstrap
Action: app_topolo_contracts.workspace.bootstrap.
Use the empty object {}. Resource/workspace selection belongs outside the action input; do not add undeclared fields.
Response and effects
- Returns verified auth user/organization before the worker’s organization/workspace/storage/protection gates for the remaining application routes. It does not provision or grant a workspace.
- The retained action declares workspace:read, but the reviewed bootstrap handler itself returns before requireWorkspace. A bootstrap response is not proof of any workspace permission or document access.
- No credentials, tokens or secrets are needed in this guide’s illustrative response; actual identity fields are owned by Auth and can vary.
Examples
Example request and response
Request input:
{}
Illustrated response:
{
"user": {
"id": "user_documentation_fixture",
"name": "Documentation fixture actor"
},
"organization": {
"id": "org_documentation_fixture",
"name": "Documentation fixture organization"
}
}
HTTP 200 illustration. Hypothetical authorized operation only; inspect the action-specific fields and boundaries below.
Authentication refusal
If: The authentication credential is absent or invalid; verified authentication therefore does not succeed.
Request input:
{}
The worker delegates this case to the shared authError response. The retained catalogue declares HTTP 401/authentication_required; its exact externally returned body is not established by the reviewed handler.
Declared code excerpt, not a captured response body:
{
"code": "authentication_required"
}
Refusal or dependency failure
If: Runtime application identity resolution throws before authentication or bootstrap handling. The worker returns this code and a message; no successful identity context is established.
Request input:
{}
Source error-code excerpt (HTTP 503):
{
"error": "app_identity_unavailable"
}
The existing application identity owner must restore resolution before normal operation.
Same organization, another authorized actor
Request input:
{}
Illustrated response:
{
"user": {
"id": "user_other_documentation_fixture"
},
"organization": {
"id": "org_documentation_fixture",
"name": "Documentation fixture organization"
}
}
HTTP 200 illustration. Actor identity can differ while organization is unchanged; no workspace grant is asserted.
Verify the result
- Compare the actor and organization with the intended signed-in context, then use an explicitly authorized workspace operation for separate access verification.
Recovery
- 401
authentication_required: Complete the supported authentication flow; the exact Auth error body is not established here. - 503
app_identity_unavailable: The existing application identity owner must restore resolution before normal operation. - 403
permission_denied: Outer authentication/authorization contract: Grant the credential permission workspace:read and the required resource binding. Reconcile uncertain earlier write effects before any retry. - 429
rate_limited: Outer authentication/authorization contract: Wait for Retry-After when present, then retry without parallel duplicate calls. Reconcile uncertain earlier write effects before any retry.
Read-only. Reauthenticate or resolve application identity through its owner; do not infer permission grants or create workspaces from bootstrap data.
Source and example limits — 21 October 2026: based on reviewed Contracts source 4bfd49a; current serving association is unverified. All requests, responses, approvals and document specimens shown are fictional and unrun. Offline schema/ZIP/XML checks do not prove application acceptance, legal completeness, provider outcomes or human approval.