{"templateId":"openapi_docs","versions":[{"version":"v1.40","label":"v1.40 STS","link":"/products/custody/devbox/intents","default":true,"active":false,"folderId":"c15a2701"},{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/v1.39/devbox/intents","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/devbox/intents","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/devbox/intents","default":false,"active":true,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/devbox/intents","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/devbox/intents","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/devbox/intents","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"openAPIDocsStore":"oas-products/custody/@v1.34/devbox.json","sidebar":"sidebar-sidebar.yaml__products_custody_v1.34_devbox"},"props":{"definitionId":"products/custody/@v1.34/devbox.json","dynamicMarkdocComponents":[],"baseSlug":"/products/custody/v1.34/devbox","seo":{"title":"Intents","description":"An **intent** represents a request to execute an action within the system, which shall eventually be executed if fully approved. In *Harmonize*, all security-critical operations follow the below execution lifecycle:\r\n1. a user submits a properly signed intent to execute an action;\r\n2. *Harmonize* browses through the **policies**, sorted by `rank`, and selects the first **policy** with matching `intentTypes` and `condition`;\r\n3. *Harmonize* validates that the **policy** authorizes the author of the intent to submit it and sets the full approval `workflow` required for execution;\r\n4. *Harmonize* waits for the required quorum of approvals as defined in the selected **policy** `workflow`;\r\n5. Once fully approved, *Harmonize* executes the intent and mutates the state of the system, possibly triggering the execution of a side effect such as the processing of a transaction.\r\n\r\nThe author of an intent defines, in particular, the following fields:\r\n- `payload`, which sets the `type` of the intent and the details of the operation to process;\r\n- `expiry`, which sets an expiration time to the intent;\r\n- `targetDomainId`, which sets the domain in which to execute the intent (either in the current domain or within a descendant domain);\r\n- `type`, which defines whether the intent is an original submission (`Propose`), an intention to approve an existing intent (`Approve`) or an intention to reject an existing intent (`Reject`).\r\n\r\nThere exist four intent types for most entities in the system, as prefixed by:\r\n- **Create** to create an entity of a given type;\r\n- **Update** to update the definition of an entity;\r\n- **Lock** to lock an entity;\r\n- **Unlock** to unlock an entity.\r\n\r\nExceptions exist, such as for the release of quarantined **transfers**, which has its dedicated intent called **ReleaseQuarantinedTransfers**.\r\n\r\nA generic intent, named **NotarizeData**, allows the submission of intents not related to internal processes of *Harmonize*. Such **intents** may be used to trigger external effects to extend the capabilities of the system, such as to initiate fiat payment orders or trading orders.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"intents","disableAutoScroll":true,"metadata":{"subType":"openapi-operation"},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"docs.ripple.com","port":4000,"ipAddress":"216.73.217.122"},"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/v1.34/devbox/intents","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}