{"templateId":"openapi_docs","versions":[{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/devbox/users","default":true,"active":true,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/devbox/users","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/devbox/users","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/devbox/users","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/devbox/users","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/devbox/users","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"openAPIDocsStore":"oas-products/custody/@v1.39/devbox.json","sidebar":"sidebar-sidebar.yaml__products_custody_devbox"},"props":{"definitionId":"products/custody/@v1.39/devbox.json","dynamicMarkdocComponents":[],"baseSlug":"/products/custody/devbox","seo":{"title":"Users","description":"A **user** is a human or technical consumer of the *Harmonize* service. \r\n\r\nA user is associated with a public key, which is registered into the system alongside a set of roles. The roles relate to the permissions a user has to access the various entities within the system (as defined within a particular **domain**) as well as to propose, approve and reject the execution of intents (as defined by the approval workflow of a policy).\r\n\r\nUsers have, in particular, the following properties:\r\n - `publicKey`: the public key used to authenticate any user request\r\n - `roles`: a collection of human-readable strings defining the roles of a user\r\n\r\nThe private key corresponding to `publicKey` is generated on the user-side, either within the mobile approval terminal or programmatically, and is never communicated to the system. We emphasize here that a user key pair is merely used to authenticate the user and approve the execution of **intents**; it is unrelated to the account keys securing the accounts on the ledger. The loss of a **user** key is dealt with by locking the user and creating a new user with a rotated key.\r\n\r\nThe locking of a **user** prevents its access to the platform entirely.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"users","disableAutoScroll":true,"metadata":{"subType":"openapi-operation"},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"docs.ripple.com","port":4000,"ipAddress":"216.73.216.175"},"lang":"default_locale","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"main-enterprise-product-docs","PUBLIC_VAR_LQH":"Liquidity Hub","PUBLIC_VAR_LQHUI":"Liquidity Hub UI","PUBLIC_VAR_ODL":"On-Demand Liquidity","PUBLIC_VAR_RN":"RippleNet","PUBLIC_VAR_RNC":"RippleNet Cloud","PUBLIC_VAR_RNSERVER":"RippleNet Server","PUBLIC_VAR_ROSAPINAME":"RippleNet Orchestration","PUBLIC_VAR_RPD":"Payments Direct","PUBLIC_VAR_SL":"Smart Liquidation","PUBLIC_VAR_SLAPI":"Smart Liquidation API","PUBLIC_VAR_CUS":"Ripple Custody","PUBLIC_VAR_RPO":"RippleNet Payment Object","PUBLIC_VAR_RNH":"Payments Direct UI","PUBLIC_VAR_RPODL":"Ripple Payments ODL","PUBLIC_VAR_RP":"Ripple Payments","PUBLIC_VAR_RNAPI":"RippleNet Server API","PUBLIC_VAR_RIPPLE_USD":"Ripple USD","PUBLIC_VAR_RLUSD":"RLUSD","PUBLIC_VAR_RS":"Ripple Stablecoin","PUBLIC_VAR_RS_PLATFORM":"Ripple Mint","PUBLIC_VAR_RS_UI":"Ripple Mint UI","PUBLIC_VAR_RS_API":"Ripple Mint API"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/devbox/users","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}