{"components":{"schemas":{"Decision":{"additionalProperties":false,"properties":{"allow":{"type":"boolean"},"cache_seconds":{"const":0},"decision_id":{"minLength":1,"type":"string"},"policy_version":{"minLength":1,"type":"string"},"reason":{"minLength":1,"type":"string"}},"required":["allow","reason","decision_id","policy_version","cache_seconds"],"type":"object"},"Error":{"additionalProperties":false,"properties":{"error":{"additionalProperties":false,"properties":{"code":{"minLength":1,"type":"string"},"email_hint":{"minLength":1,"type":"string"}},"required":["code"],"type":"object"}},"required":["error"],"type":"object"},"Login":{"additionalProperties":false,"properties":{"captcha_token":{"maxLength":2048,"minLength":1,"type":"string"},"challenge_id":{"minLength":1,"type":"string"},"code":{"pattern":"^[0-9]{6}$","type":"string"},"password":{"format":"password","maxLength":128,"type":"string"},"remember":{"type":"boolean"},"username":{"maxLength":80,"minLength":1,"type":"string"}},"required":["username","password"],"type":"object"},"Register":{"additionalProperties":false,"properties":{"captcha_token":{"maxLength":2048,"minLength":1,"type":"string"},"challenge_id":{"minLength":1,"type":"string"},"code":{"pattern":"^[0-9]{6}$","type":"string"},"email":{"format":"email","type":"string"},"name":{"minLength":1,"type":"string"},"password":{"format":"password","maxLength":128,"minLength":8,"type":"string"},"username":{"maxLength":80,"minLength":1,"type":"string"}},"required":["username","password","name","email","challenge_id","code","captcha_token"],"type":"object"},"account.recovery":{"additionalProperties":false,"properties":{"evidence":{"minLength":1,"type":"string"},"id":{"minLength":1,"type":"string"}},"required":["id","evidence"],"type":"object"},"account.status":{"additionalProperties":false,"properties":{"active":{"type":"boolean"},"id":{"minLength":1,"type":"string"}},"required":["id","active"],"type":"object"},"company_admin.set":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"membership_id":{"minLength":1,"type":"string"}},"required":["membership_id","enabled"],"type":"object"},"grant.batch_create":{"additionalProperties":false,"properties":{"effect":{"enum":["allow","deny"]},"expires_at":{"description":"Unix seconds, future, at most 366 days; batch maximum 500 grants","type":"number"},"membership_ids":{"items":{"maxLength":160,"minLength":1,"type":"string"},"maxItems":100,"minItems":1,"type":"array","uniqueItems":true},"resource":{"maxLength":300,"minLength":1,"type":"string"},"role_ids":{"items":{"maxLength":160,"minLength":1,"type":"string"},"maxItems":20,"minItems":1,"type":"array","uniqueItems":true}},"required":["membership_ids","role_ids","resource","effect","expires_at"],"type":"object"},"grant.create":{"additionalProperties":false,"properties":{"effect":{"enum":["allow","deny"]},"expires_at":{"description":"Unix seconds, future, at most 366 days","type":"number"},"membership_id":{"minLength":1,"type":"string"},"resource":{"description":"Exact resource ID or * within the selected organization; no geographic inheritance","minLength":1,"type":"string"},"role_id":{"minLength":1,"type":"string"}},"required":["membership_id","role_id","resource","effect","expires_at"],"type":"object"},"grant.remove_deny":{"additionalProperties":false,"properties":{"expected_version":{"minimum":1,"type":"integer"},"id":{"minLength":1,"type":"string"}},"required":["id","expected_version"],"type":"object"},"membership.restore":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"}},"required":["id"],"type":"object"},"monitor.grant":{"additionalProperties":false,"properties":{"expires_at":{"description":"Unix seconds; future, at most 366 days. Fixed Monitor and statistics dependency bundle; independent platform administrator review required.","type":"number"},"membership_id":{"minLength":1,"type":"string"}},"required":["membership_id","expires_at"],"type":"object"},"platform_admin.set":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"id":{"minLength":1,"type":"string"}},"required":["id","enabled"],"type":"object"},"role.create":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"permissions":{"items":{"pattern":"^[a-z][a-z0-9_-]*(?::[a-z0-9_-]+){1,3}$","type":"string"},"maxItems":100,"minItems":1,"type":"array"}},"required":["name","permissions"],"type":"object"},"role.update":{"additionalProperties":false,"properties":{"expected_version":{"minimum":1,"type":"integer"},"id":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"permissions":{"items":{"minLength":1,"type":"string"},"minItems":1,"type":"array"}},"required":["id","expected_version","name","permissions"],"type":"object"}},"securitySchemes":{"ClientId":{"in":"header","name":"X-Client-Id","type":"apiKey"},"ClientSecret":{"in":"header","name":"X-Client-Secret","type":"apiKey"},"CookieSession":{"in":"cookie","name":"gu_session","type":"apiKey"},"Session":{"scheme":"bearer","type":"http"}}},"info":{"description":"First-party confidential service protocol. This version is not an OAuth2/OIDC provider; no standard compliance is claimed. See docs/ARCHITECTURE.md for extension contracts.","title":"GlobalUser Identity & Authorization API","version":"1.0.0"},"openapi":"3.1.0","paths":{"/health":{"get":{"responses":{"200":{"description":"Result"},"default":{"description":"Rejected"}},"security":[],"summary":"Liveness and SQLite readiness"}},"/v1/accounts/reset-password":{"post":{"operationId":"accounts_reset-password","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"}},"required":["id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Retired fixed-password reset; use reviewed recovery or verified email"}},"/v1/admin":{"get":{"parameters":[{"in":"query","name":"organization_id","schema":{"minLength":1,"type":"string"}},{"in":"query","name":"after","schema":{"minimum":0,"type":"integer"}}],"responses":{"200":{"description":"Result"},"default":{"description":"Rejected"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Scoped administration snapshot and cursor-based audit events"}},"/v1/auth/config":{"get":{"responses":{"200":{"description":"Result"},"default":{"description":"Rejected"}},"security":[],"summary":"Public email and captcha capabilities; never includes secrets"}},"/v1/client/login":{"post":{"operationId":"client_login","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Login"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"ClientId":[],"ClientSecret":[]}],"summary":"Confidential first-party application login bridge"}},"/v1/clients/create":{"post":{"operationId":"clients_create","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"audience":{"minLength":1,"type":"string"},"name":{"minLength":1,"type":"string"},"permission_prefix":{"minLength":1,"pattern":"^[a-z][a-z0-9-]*$","type":"string"}},"required":["name","audience","permission_prefix"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Register confidential business application"}},"/v1/clients/revoke":{"post":{"operationId":"clients_revoke","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"}},"required":["id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Revoke confidential client"}},"/v1/clients/rotate":{"post":{"operationId":"clients_rotate","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"}},"required":["id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Rotate confidential client credential"}},"/v1/context":{"post":{"operationId":"context","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"membership_id":{"minLength":1,"type":"string"},"profile":{"enum":["","operator","finance","reviewer","viewer","service"]}},"required":["membership_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Select organization membership and optional Earth profile; rotates token"}},"/v1/decisions":{"post":{"operationId":"decisions","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"organization_id":{"minLength":1,"type":"string"},"permission":{"minLength":1,"type":"string"},"resource":{"minLength":1,"type":"string"},"token":{"minLength":1,"type":"string"}},"required":["token","organization_id","permission","resource"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Decision"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"ClientId":[],"ClientSecret":[]}],"summary":"Confidential client live scoped authorization decision"}},"/v1/email/bind":{"post":{"operationId":"email_bind","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"challenge_id":{"minLength":1,"type":"string"},"code":{"pattern":"^[0-9]{6}$","type":"string"},"email":{"format":"email","type":"string"},"password":{"format":"password","type":"string"}},"required":["email","password","challenge_id","code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Bind a verified email to an existing account"}},"/v1/email/recover":{"post":{"operationId":"email_recover","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"challenge_id":{"minLength":1,"type":"string"},"code":{"pattern":"^[0-9]{6}$","type":"string"},"email":{"format":"email","type":"string"},"new_password":{"format":"password","maxLength":128,"minLength":8,"type":"string"}},"required":["email","new_password","challenge_id","code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Reset a password using a verified email"}},"/v1/email/send":{"post":{"operationId":"email_send","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"captcha_token":{"maxLength":2048,"minLength":1,"type":"string"},"email":{"format":"email","type":"string"},"password":{"format":"password","type":"string"},"purpose":{"enum":["register","login","bind","recover"]},"username":{"minLength":1,"type":"string"}},"required":["purpose","captcha_token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Send a purpose-bound email code"}},"/v1/grants/revoke":{"post":{"operationId":"grants_revoke","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"organization_id":{"minLength":1,"type":"string"}},"required":["organization_id","id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Revoke allow grant immediately"}},"/v1/introspect":{"post":{"operationId":"introspect","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"token":{"minLength":1,"type":"string"}},"required":["token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"ClientId":[],"ClientSecret":[]}],"summary":"Confidential client live identity introspection"}},"/v1/login":{"post":{"operationId":"login","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Login"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Authenticate with username and password"}},"/v1/logout":{"post":{"operationId":"logout","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{},"required":[],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Revoke the current session"}},"/v1/me":{"get":{"responses":{"200":{"description":"Result"},"default":{"description":"Rejected"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Current account and available memberships"}},"/v1/memberships/bind":{"post":{"operationId":"memberships_bind","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"department":{"type":"string"},"organization_id":{"minLength":1,"type":"string"},"title":{"type":"string"},"username":{"minLength":1,"type":"string"}},"required":["organization_id","username"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Administrator directly binds a registered employee to an organization"}},"/v1/memberships/suspend":{"post":{"operationId":"memberships_suspend","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"organization_id":{"minLength":1,"type":"string"}},"required":["organization_id","id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Suspend membership immediately"}},"/v1/memberships/update":{"post":{"operationId":"memberships_update","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"department":{"type":"string"},"membership_id":{"minLength":1,"type":"string"},"organization_id":{"minLength":1,"type":"string"},"title":{"type":"string"}},"required":["organization_id","membership_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Update department and title without changing privileges"}},"/v1/organizations/create":{"post":{"operationId":"organizations_create","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"type":{"enum":["company","government","partner","platform"]}},"required":["name","type"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Register self-declared organization (platform administration)"}},"/v1/organizations/suspend":{"post":{"operationId":"organizations_suspend","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"organization_id":{"minLength":1,"type":"string"}},"required":["organization_id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Suspend all access in an organization immediately (platform administration)"}},"/v1/password":{"post":{"operationId":"password","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"new_password":{"format":"password","maxLength":128,"minLength":8,"type":"string"},"old_password":{"minLength":1,"type":"string"}},"required":["old_password","new_password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Change password and revoke all sessions"}},"/v1/phone/operator":{"post":{"operationId":"phone_operator","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"action":{"enum":["prepare","sent","cancel"]},"id":{"minLength":1,"type":"string"}},"required":["id","action"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Manage manual SMS"}},"/v1/phone/profile":{"post":{"operationId":"phone_profile","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"name":{"minLength":1,"type":"string"},"password":{"format":"password","maxLength":128,"minLength":8,"type":"string"},"username":{"minLength":1,"type":"string"}},"required":["name","username","password"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Complete new phone account"}},"/v1/phone/queue":{"get":{"responses":{"200":{"description":"Result"},"default":{"description":"Rejected"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Manual SMS queue; designated operator only"}},"/v1/phone/request":{"post":{"operationId":"phone_request","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"captcha_token":{"maxLength":2048,"minLength":1,"type":"string"},"password":{"format":"password","type":"string"},"phone":{"minLength":1,"type":"string"},"purpose":{"enum":["login","bind"]}},"required":["phone","purpose","captcha_token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Request manual SMS"}},"/v1/phone/verify":{"post":{"operationId":"phone_verify","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"challenge_id":{"minLength":1,"type":"string"},"code":{"pattern":"^[0-9]{6}$","type":"string"},"phone":{"minLength":1,"type":"string"},"purpose":{"enum":["login","bind"]},"remember":{"type":"boolean"}},"required":["phone","purpose","challenge_id","code"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Verify phone"}},"/v1/proposals/approve":{"post":{"operationId":"proposals_approve","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"organization_id":{"type":["string","null"]}},"required":["organization_id","id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Approve as a different authorized administrator"}},"/v1/proposals/create":{"post":{"operationId":"proposals_create","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"additionalProperties":false,"properties":{"kind":{"const":"role.create"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/role.create"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"role.update"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/role.update"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"grant.create"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/grant.create"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"grant.batch_create"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/grant.batch_create"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"grant.remove_deny"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/grant.remove_deny"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"membership.restore"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/membership.restore"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"account.status"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/account.status"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"account.recovery"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/account.recovery"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"company_admin.set"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/company_admin.set"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"platform_admin.set"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/platform_admin.set"}},"required":["organization_id","kind","payload"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"monitor.grant"},"organization_id":{"type":["string","null"]},"payload":{"$ref":"#/components/schemas/monitor.grant"}},"required":["organization_id","kind","payload"],"type":"object"}]}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Propose a role, grant or privileged account change"}},"/v1/proposals/reject":{"post":{"operationId":"proposals_reject","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"id":{"minLength":1,"type":"string"},"organization_id":{"type":["string","null"]}},"required":["organization_id","id"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[{"Session":[]},{"CookieSession":[]}],"summary":"Reject a pending proposal"}},"/v1/recover":{"post":{"operationId":"recover","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"captcha_token":{"maxLength":2048,"minLength":1,"type":"string"},"new_password":{"format":"password","maxLength":128,"minLength":8,"type":"string"},"recovery_token":{"minLength":1,"type":"string"}},"required":["recovery_token","new_password","captcha_token"],"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Consume a reviewed, single-use recovery token"}},"/v1/register":{"post":{"operationId":"register","parameters":[{"in":"header","name":"X-GlobalUser-Request","required":true,"schema":{"const":"1","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Register"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"Success; one-time secrets are returned only by credential issuance operations"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rejected; machine-readable error code"}},"security":[],"summary":"Register an unverified account with no organization privileges"}}},"servers":[{"url":"http://127.0.0.1:8878"}]}