Appearance
Playbooks
Playbooks are standard operating procedures (SOPs) for USM. Use calls.md for payload shape and required fields.
Surface availability (explicit)
- API Gateway: Available.
- Direct Lambda: Not offered.
- CLI: Available (
g3n usm ..., API Gateway). - MCP: Available.
Playbook: Session lifecycle (issue → validate → close)
Goal: Issue a session for a verified user, keep it alive while active, and close it cleanly.
Why this sequence:
- USM enforces per-user session caps and status gating at create time.
- Session validity changes when UAS user/email status changes or TTL expires.
Preconditions
- A verified user + primary email in UAS.
- Email + passcode for session creation.
SOP (happy path)
- Confirm user status (UAS
stator directuserSnapshot).- Reason: USM will reject unverified users or emails.
- Create session (
POST /usm/session/create).- Reason: issues
session_guid, TTL, and expiry fields.
- Reason: issues
- Persist session details (store
session_guid,expires_at_utc,ttl_refresh_enabled).- Reason: downstream calls require the session, and expiry drives refresh cadence.
- Touch/validate session (
POST /usm/session/validate) on activity.- Reason: refreshes sliding TTL when enabled and detects invalidation.
- Audit (
POST /usm/session/getorPOST /usm/session/list) as needed.- Reason: confirm status and surface archived sessions when investigating issues.
- Close session (
POST /usm/session/close) on logout.- Reason: ensures a terminal
doomedstatus and prevents reuse.
- Reason: ensures a terminal
- Security response (
POST /usm/session/logout_other_devicesorlogout_everywhere) if compromise is suspected.
Outputs
- Active session for valid users; terminal
doomedsession on logout. - Audit visibility via
get/list.
Failure modes / remediation
invalid-passcode/user-not-verified: re-verify user/email in UAS; retry create.too-many-sessions: close old sessions or raise user cap in UAS (userConfigSet).session-doomed/ttl-expired: create a new session.
Cross-service relationships
- UAS: provides verified user/email and passcode policy enforcement.
- All org-scoped services: use
session_guidfor auth.
Playbook: Service account + API key lifecycle
Goal: Create a least-privilege service account and issue API keys for automation.
Why this sequence:
- Service accounts isolate integrations; keys are revocable without impacting humans.
- API keys are returned only once; you must capture them at creation time.
Preconditions
- Owner or authorized admin session for the org.
- A defined role set for the integration (e.g., read-only vs publish).
SOP (happy path)
- Create service account (
POST /usm/service_account/create).- Reason: binds an integration identity to the org with roles.
- List service accounts (
POST /usm/service_account/list) to confirm creation.- Reason: inventory and audit readiness.
- Create API key (
POST /usm/api_key/create).- Reason: issues the
api_keysecret and metadata; capture the secret immediately.
- Reason: issues the
- Validate key (
POST /usm/api_key/validateor headerx-api-key).- Reason: confirm roles + org binding before using in production.
- Use key downstream (
x-api-keyon org-scoped APIs).- Reason: headless automation should not use human sessions.
- Revoke key (
POST /usm/api_key/revoke) or rotate on schedule.- Reason: minimize exposure and support key rotation.
- Incident response (
POST /usm/api_key/revoke_allorrevoke_all_org).- Reason: contain compromise quickly.
Outputs
- Active API key tied to a service account.
- Audit trail through key list/get endpoints.
Failure modes / remediation
not-foundon validate: ensure you captured the key value exactly once.forbidden/unauthorized: check roles assigned to the service account.
Cross-service relationships
- All org-scoped services accept USM API keys for auth.