TKeeper Hub exposes REST endpoints for keys, signing, approvals, operations, policies, inventory, audit and Keeper peer maintenance. Use the Download Hub OpenAPI specification to generate a client for your language. The contract includes the native Keeper schemas; SDK generation does not require a Keeper checkout.
Connect a client
Set the SDK base URL to your Hub origin. Send your existing SSO access JWT in Authorization: Bearer <token>. Hub verifies the token and forwards the same user credential to Keeper. /auth/config is public and returns OIDC discovery settings.
curl --fail-with-body \
--header "Authorization: Bearer $SSO_ACCESS_TOKEN" \
"$HUB_ORIGIN/v1/session"
Generate the SDK from the downloaded contract with an OpenAPI 3.1-compatible generator. Check that the client preserves nullable fields, all documented success responses, response headers and empty 204 bodies. Dynamic authority configuration and JSON Schema fields remain open objects; use describeAuthority to discover the installed command's schema.
Operations and retries
Refresh, rotate, destroy, sign and compose require a nonblank Idempotency-Key of up to 128 characters. Repeating the same action and body with that key replays the saved result; reusing it for a different request returns 409. After an unknown transport outcome, check the operation before submitting another mutation.
Approval-dependent commands can return 202 with an OperationView instead of the native command result. Handle both response types. Only the owner can execute or cancel the saved operation. Inspect its state: an execution response with HTTP 200 can contain FAILED.
Operation events use text/event-stream. Read SSE separately from JSON and resume with the last received version in Last-Event-ID. Connections are limited to 30 seconds and the bearer token's remaining lifetime.
Dates and request limits
Hub dates are RFC 3339 UTC strings. Native WebAuthn JSON expiresAt uses Unix milliseconds; X-EXPIRES-AT uses Unix seconds. Reading or retrying preparation does not extend an approval deadline.
HTTP bodies are limited to 12 MiB; native Keeper command JSON is limited to 10 MiB. Registry metadata filters use separate query pairs: metadata.<key>=value.
MCP
MCP is a separate protocol at /mcp, using the same bearer authentication. Discover tools and their input schemas through tools/list, following nextCursor. See the Hub MCP reference.
REST endpoints
Search and expand the endpoints below to inspect parameters, request bodies and responses.