# RippleNet Server API The {% $env.PUBLIC_VAR_RNSERVER %} API provides you the ability to develop custom applications to manage or interact with your RippleNet instance. Check out the [best practices](../../ripplenet/best-practices/) and [tutorials](../../ripplenet/tutorials/). ### Authentication All API operations require a bearer access token for your target environment.
Learn how to [request the access token](../best-practices/authentication/#request-the-access-token). ### API environments The RippleNet Server API creates a dynamic `[domainPrefix]` that consists of `{tenant}.{environment}`. **Note**: This example uses `aperture` as the tenant. Your tenant ID is different. | Environment | Domaing Prefix | Domain | Base URL | | --- | --- | --- | --- | | Test | `aperture.test` | `ripplexcurrent.com`| `https://aperture.test.ripplexcurrent.com` | | UAT | `aperture.uat` | `ripplexcurrent.com`| `https://aperture.uat.ripplexcurrent.com` | | Production | `aperture.prod` | `ripplexcurrent.com`| `https://aperture.prod.ripplexcurrent.com` | Version: 4.0.0 ## Servers ``` //[domainPrefix].ripplexcurrent.com/v4 ``` ## Security ### Bearer All operations require a `Bearer` access token in the `Authorization` header of each request.
Learn about [authentication](/products/payments-odl/api-docs/ripplenet/best-practices/authentication/). Type: apiKey In: header Name: Authorization ## Download OpenAPI description [RippleNet Server API](https://docs.ripple.com/_bundle/products/payments-odl/api-docs/ripplenet/ripplenet.yaml) ## Account configuration ### Get accounts - [GET /config/accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/account-configuration/getaccounts.md): Gets a list of all accounts. ### Create account - [POST /config/accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/account-configuration/createaccount.md): Creates an account on the xCurrent ledger. An account stores balances and enables transfers between accounts on the ledger. ### Get account by name - [GET /config/accounts/{account_name}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/account-configuration/getaccountbyname.md): Gets one account. ### Update account - [PUT /config/accounts/{account_name}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/account-configuration/updateaccount.md): Updates the updatable fields for an account. ### Update nostro account balance limits - [PUT /config/accounts/{nostroAccountAddress}/nostro-account-update](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/account-configuration/update-nostro-account-balance-limit.md): Updates minimum and maximum allowed balance limits on a nostro account owned by this financial institution on a ledger on a peered xCurrent instance. Allows owner of nostro account to restrict balance range to less than the account maximum and greater than the account minimum set by partner. ### Disable account - [POST /config/accounts/{account_name}/disable](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/account-configuration/disableaccount.md): Disables an account. ## Auditing ### Get audits - [GET /audit](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/auditing/getaudits.md): Gets an audit trail of user actions and configuration changes (to accounts, fees, and rates) on a RippleNet instance. ### Get event trail for payment - [GET /audit/payment/{id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/auditing/geteventtrailforpayment.md): Gets an audit trail of a payment's state changes on a local RippleNet instance. ## Balances and statements ### Get balances - [GET /monitor/balances](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/balances-and-statements/getbalances.md): Get balances for local and remote accounts owned by a RippleNet address. ### Get ledger balances - [GET /monitor/ledger/balances](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/balances-and-statements/getledgerbalances.md): Get balances for ledger owned by a RippleNet address. ### Get statement - [GET /statement/{account_name_with_address}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/balances-and-statements/getstatement.md): Gets a statement for an account that lists payments and transfers that impacted the account's balance during a specified date-time range. ### Get statement by external account ID - [GET /statement/external_account_id/{external_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/balances-and-statements/getstatementbyexternalaccountid.md): Gets a statement for an account that lists payments and transfers that impacted the account's balance during a specified date-time range. ### Get ledger account statement (deprecated) - [GET /statement/ledger/{account_name_with_address}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/balances-and-statements/getledgeraccountstatement.md): Get statement for a specified Ledger account. Note: This operation is deprecated. Use the Reports API to view your statements. ## Beneficiary confirmation ### Get account lookup by status - [GET /account_lookups](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/beneficiary-confirmation/getaccountlookupbystatus.md): Get Account Lookup entities by status and other filters. Status defaults to REQUESTED. ### Initiate account lookup - [POST /account_lookups/request](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/beneficiary-confirmation/initiateaccountlookup.md): Creates an Account Lookup request to validate a beneficiary's account details before sending a payment. Account lookups are not part of the payment flow and can be made at any time in the payment process. ### Complete account lookup - [POST /account_lookups/response](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/beneficiary-confirmation/completeaccountlookup.md): Posts an Account Lookup response to validate a beneficiary's account details before payment. ### Get account lookup by ID - [GET /account_lookups/{account_lookup_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/beneficiary-confirmation/getaccountlookupbyid.md): Gets an Account Lookup entity for its account_lookup_id value. ## Diagnostics ### Check health - [GET /health](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/diagnostics/checkhealth.md): Gets the health status of the xCurrent server. ### Check heartbeat - [GET /heartbeat](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/diagnostics/checkheartbeat.md): Gets the health status of the xCurrent server's peers. This request requires authorization. The timeout for this operation is 5 seconds. ## Exchange transfers ### Get exchange transfers - [GET /exchange_transfers](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/exchange-transfers/getexchangetransfers.md): Gets all exchange transfers. ### Execute exchange transfer - [POST /exchange_transfers/execute](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/exchange-transfers/executeexchangetransfer.md): Execute an exchange transfer to move funds from one of your accounts in one currency (USD, for example) to another one of your accounts in another currency (EUR, for example) at an exchange rate set by your peer who maintains both of your accounts on their ledger. An exchange transfer enables you to fund a foreign currency account from your domestic currency account in bulk. Before you make this request, you may want to use the Quote Exchange Transfer request to see a quote for the exchange transfer you want to make. ### Get exchange transfer quote - [POST /exchange_transfers/quote](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/exchange-transfers/getexchangetransferquote.md): Requests a quote for an exchange transfer. ### Complete exchange transfer - [POST /exchange_transfers/{id}/complete](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/exchange-transfers/completeexchangetransfer.md): Updates the status of an exchange transfer to COMPLETED. Make this request once the exchange transfer has been made on both the ledger and on internal systems. ### Get exchange transfer by ID - [GET /exchange_transfers/{id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/exchange-transfers/getexchangetransferbyid.md): Gets an exchange transfer by ID. ## Fees ### Get fees - [GET /config/fees](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/fees/getfees.md): Gets a list of fees. ### Create fee - [POST /config/fees](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/fees/createfee.md): Creates a fee. ### Get fee by ID - [GET /config/fees/{id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/fees/getfeebyid.md): Gets a fee by ID. ### Update fee - [PUT /config/fees/{id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/fees/updatefee.md): Updates an existing fee. ### Delete fee - [DELETE /config/fees/{id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/fees/deletefee.md): Deletes a fee. Once deleted, a fee cannot be accessed. ## Liquidation configuration ### Create liquidation configuration - [POST /config/liquidation_config](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/liquidation-configuration/createliquidationconfig.md): Creates a new liquidation configuration. A liquidation configuration defines a transfer path between two RippleNet accounts for liquidating payments (when they arrive in a source account) to a destination account. ### Get all liquidation configurations - [GET /config/liquidation_config](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/liquidation-configuration/getallliquidationconfig.md): Returns all liquidation configurations. ### Get liquidation configuration by ID - [GET /config/liquidation_config/{liquidation_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/liquidation-configuration/getliquidationconfigbyid.md): Returns a liquidation configuration by ID. ### Update liquidation configuration - [PUT /config/liquidation_config/{liquidation_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/liquidation-configuration/updateliquidationconfig.md): Updates an existing liquidation configuration. A liquidation configuration defines a transfer path between two RippleNet accounts for liquidating payments (when they arrive in a source account) to a destination account. ### Delete liquidation configuration - [DELETE /config/liquidation_config/{liquidation_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/liquidation-configuration/deleteliquidationconfig.md): Deletes a liquidation configuration by its ID. ## Non-orchestration payments ### Get payments - [GET /payments](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/getpayments.md): Retrieves all payments in an instance of xCurrent that meet the criteria defined by the query parameters. You can use the query parameters to filter payments. The default parameters are sort_field : MODIFIED_AT , sort_direction : DESC , page : 0 , size : 10 ### Get payment by payment ID - [GET /payments/{payment_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/getpaymentbypaymentid.md): Gets a payment by ID. ### Lock payment - [POST /payments/{payment_id}/lock](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/lockpayment.md): Locks a payment. The beneficiary and all intermediary institutions agree to proceed with the payment by making successful Lock Payment requests. When the payment is still in a _partially_ LOCKED state, the beneficiary and all intermediary institutions who have _not_ locked, can reject lock payment or fail payment. Once fully LOCKED, the originating institution can either fail payment or Settle payment. If the originating institution sends a Settle payment request, one of three things will happen: * Successful payments move to the PREPARED state. * Payments with insufficient liquidity automatically move into state SETTLEMENT_DECLINED, or * Payments that are not settled before the crypto_transaction_id expires move to the FAILED state. Note: Currently, when making a Create quote to return payment to a RippleNet Cloud account on a RippleNet ledger, the RippleNet user must lock and complete the payment. This means that the RippleNet user takes all action on the return: Get and Accept Quote, Lock, Settle, and Complete payment. ### Reject lock payment - [POST /payments/{payment_id}/reject](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/rejectlockpayment.md): Rejects a payment from being locked. This temporarily stops the payment and keeps it in a recoverable state so that user_info can be corrected. If the payment is incorrect for reasons outside of the user_info object, use Fail payment. After a payment has been created by an Accept quote request, the beneficiary or an intermediary can choose to reject the payment, rather than Lock payment, with corrections to user_info in the reasons array. A rejected payment moves the payment state to LOCK_DECLINED from which it can be recovered by the originating institution with a Retry accept payment request. If any one institution in the payment chain is configured to _auto-fail_, the payment automatically fails when the payment is rejected, moving to the FAILED state rather than the LOCK_DECLINED state. ### Retry accept payment - [POST /payments/{payment_id}/retry_accept](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/retryacceptpayment.md): Returns a rejected payment from the LOCK_DECLINED state to the ACCEPTED state. The payment sender must include repaired user_info in the request body. ### Fail payment - [POST /payments/{payment_id}/fail](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/failpayment.md): Fails a payment. Fail payment is a deliberate action that permanently stops the payment and puts it into a non-recoverable state. An institution _rejects_ a payment to solicit changes to user_info; it _fails_ a payment to stop it altogether. After a payment has been created by an Accept quote request, you can fail the payment if it is your institution's turn to take an action on the payment. The originating institution can fail a payment in states LOCKED and LOCK_DECLINED. The beneficiary and intermediary institutions can fail a payment in the ACCEPTED state. Beneficiary institutions can also fail a payment in the EXECUTED state. The general use case for failing an executed payment is to Create quote to return payment to the originating institution. Payments in states PREPARED and SETTLEMENT_DECLINED can fail _automatically_—PREPARED when the crypto-transaction expires and SETTLEMENT_DECLINED when the payment expires. ### Settle payment - [POST /payments/{payment_id}/settle](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/settlepayment.md): Executes a payment in the LOCKED state. Payment senders can also retry settling a payment in the SETTLEMENT_DECLINED state, after the error is corrected (and before the payment expires).Settle payment sends a _prepare payment transfer_ message, which travels to all participants in the payment. This sets the payment state to PREPARED, which means that funds have been transferred to the hold account on that xCurrent ledger. The beneficiary institution then signs the execution_condition (creating a payload) and sends an _execute payment transfer_ message, which travels to all participants in the payment). When the payment is fully executed, funds have been transferred from the hold account to the receiver account on all xCurrent ledgers and the payment state is set to EXECUTED. ### Finalize payment - [POST /payments/{payment_id}/finalize](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/finalizepayment.md): Marks a payment with finalized sub-states that reflect what is happening to the payment while it is in the EXECUTED state. The receiving institution can make this request multiple times to provide a log of each subsequent sub-state until it is ready to make the Complete payment request. ### Add payment sub state - [POST /payments/{payment_id}/sub_state](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/addpaymentsubstate.md): Adds a sub-state to a payment that reflects what is happening to the payment while it is in the EXECUTED state. All nodes on the payment chain can make this request multiple times to provide a log of each subsequent sub-state until the receiver is ready to make the Complete payment request.This operation is especially useful for completing cash payouts—sending institutions can add clarifying user information to a payment after it has been executed (and money has been moved). ### Complete payment - [POST /payments/{payment_id}/complete](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/completepayment.md): Marks a payment as complete by placing it in the COMPLETED state. Typically, the receiving institution makes this request when it has delivered payment funds to the final beneficiary on its internal systems outside of xCurrent. ### Add payment labels - [PUT /payments/{payment_id}/labels](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/addpaymentlabels.md): Adds a list of labels to the payment. To retrieve payments by label, see Get payments. ### Delete payment labels - [DELETE /payments/{payment_id}/labels](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/deletepaymentlabels.md): Deletes an existing label from a payment. The label you provide is deleted from the labels array in the Payment object. ### Get payment node status - [GET /payments/{payment_id}/node-status](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/getpaymentnodestatus.md): Senders can query for the RippleNet instances (in a given payment chain) that have payments in the LOCKED state. This information is only stored on the sender's RippleNet instance. ### Get filtered payment by payment ID - [GET /payments/filtered/{payment_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/getfilteredpaymentbypaymentid.md): Returns a sanitized payment with sensitive content filtered from the user_info object. Filtering user_info is customizable in rnn.properties. Content that is denylisted by default: /Cdtr, /CdtrAcct, /Dbtr, /DbtrAcct, /InitgPty, /InstForCdtrAgt, /Purp, /RgltryRptg, /RltdRmtInf, /RmtInf, /UltmtCdtr, /UltmtDbtr, /outbound_instructions/beneficiary_info ### Create quote to return payment - [POST /quote_collections/return](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/createquotetoreturnpayment.md): Creates a collection of quotes that can be used to return a payment. The receiver can make this request while the payment is in states EXECUTED, COMPLETED, or FAILED. When the returned payment is successfully moved to the COMPLETED state, the original payment is moved to the RETURNED state. Note: Currently, when making a Return Payment to a RippleNet Cloud account on a RippleNet ledger, the RippleNet user must lock and complete the payment. This means that the RippleNet user takes all action on the return: Get and Accept Quote, Lock, Settle, and Complete payment. ### Create quote to reverse payment - [POST /quote_collections/reversal](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/non-orchestration-payments/createquotetoreversepayment.md): Creates a quote collection containing at most one quote that can be used to reverse a payment. The receiver can make this request while the payment is in states EXECUTED, COMPLETED, or FAILED. When the returned payment is successfully moved to the COMPLETED state, the original payment is moved to the RETURNED state. Note: Currently, when making a Reversal Payment to a RippleNet Cloud account on a RippleNet ledger, the RippleNet user must lock and complete the payment. This means that the RippleNet user takes all action on the reverse: Get and Accept Quote, Lock, Settle, and Complete payment. ## Notifications ### Get notifications by status and priority - [GET /notifications](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/notifications/getnotificationsbystatusandpriority.md): Get notification entities by notification status and priority ### Get notification by ID - [GET /notifications/{notification_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/notifications/getnotificationbyid.md): Get Notification entity by notification id. ## ODL flags configuration ### Create ODL flag configuration - [POST /config/odl_flags_config](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/odl-flags-configuration/createodlflagconfig.md): Create a new flag configuration to decide which flags will be passed to ODL ### Get all ODL flag configurations - [GET /config/odl_flags_config](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/odl-flags-configuration/getallodlflagconfigs.md): Returns all ODL Flag configurations. ### Get ODL flag configuration by ID - [GET /config/odl_flags_config/{odl_flag_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/odl-flags-configuration/getodlflagconfigbyid.md): Returns a ODL Flag configuration by ID. ### Update ODL flag configuration - [PUT /config/odl_flags_config/{odl_flag_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/odl-flags-configuration/updateodlflagconfig.md): Updates an existing ODL Flag configuration. ### Delete ODL flag configuration - [DELETE /config/odl_flags_config/{odl_flag_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/odl-flags-configuration/deleteodlflagconfig.md): Deletes an ODL Flag configuration by its ID. ## Orchestration payments ### Create orchestration payment - [POST /v4/orchestration/payment](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/createorchestrationpayment.md): Creates an orchestration payment. ### Get orchestration payments - [GET /v4/orchestration/payment](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/getorchestrationpayments.md): Gets a list of orchestration payments. ### Get orchestration payment - [GET /v4/orchestration/payment/{uniqueReferenceNumber}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/getorchestrationpayment.md): Gets orchestration payment by unique reference number. ### Return orchestration payment - [POST /v4/orchestration/payment/return](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/returnorchestrationpayment.md): Returns the orchestration payment with customer end-to-end ID. ### Accept orchestration payment - [POST /v4/orchestration/payment/accept](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/acceptorchestrationpayment.md): Accepts the orchestration payment with customer end-to-end ID and Quote ID. ### Reverse orchestration payment - [POST /v4/orchestration/payment/reversal](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/reverseorchestrationpayment.md): Reverses the orchestration payment with customer end-to-end ID. ### Get orchestration notifications by status - [GET /v4/orchestration/payment/notification](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/getorchestrationpaymentnotifications.md): Gets a list of orchestration payment notifications with a given status. ### Get orchestration notifications by unique reference number - [GET /v4/orchestration/payment/notification/urn/{uniqueReferenceNumber}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/getorchestrationpaymentnotificationsbyuniquereferencenumber.md): Gets orchestration payment notifications with a given unique reference number. ### Get orchestration notification - [GET /v4/orchestration/payment/notification/{uuid}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/getorchestrationpaymentnotificationbyuuid.md): Gets a given orchestration payment notification by UUID. ### Acknowledge orchestration notification - [PUT /v4/orchestration/payment/notification/{uuid}/ack](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/acknowledgeorchestrationpaymentnotificationbyuuid.md): Acknowledges an orchestration payment notification with a specified UUID. ### Acknowledge orchestration notifications - [PUT /v4/orchestration/payment/notification/ack](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/acknowledgeorchestrationpaymentnotifications.md): Acknowledges multiple orchestration payment notifications using a list of UUIDs. ### Post action to orchestration payment - [POST /v4/orchestration/payment/action](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-payments/sendorchestrationpaymentaction.md): Posts action into the Orchestration service. ## Payment expiration ### Get payment expiry by ID - [GET /config/payments/payment_expiries/{payment_expiry_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payment-expiration/getpaymentexpirybyid.md): Gets the time to live (ttl) of a payment expiry in seconds. ### Update payment expiry - [PUT /config/payments/payment_expiries/{payment_expiry_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payment-expiration/updatepaymentexpiry.md): Updates the time to live (ttl) of a payment expiry in seconds. ### Delete payment expiry - [DELETE /config/payments/payment_expiries/{payment_expiry_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payment-expiration/deletepaymentexpiry.md): Deletes a payment expiry. ### Get payment expiries - [GET /config/payments/payment_expiries](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payment-expiration/getpaymentexpiries.md): Returns all configured payment expiries. ### Create payment expiry - [POST /config/payments/payment_expiries](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payment-expiration/createpaymentexpiry.md): Creates a payment expiration window, or time to live (ttl), in seconds. ## Payout method ### Create payout method - [POST /config/payout_methods](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payout-method/createpayoutmethod.md): Creates a payout method (for example, LOCAL_RAILS). The Payout Method API lets receivers create and manage payout methods. Senders can generate quotes based on these receiver payout methods by enabling the flag enable_quote_per_payout_method in the body of the [Create quote collection] request. Caution: The existing quote parameter is named payment_method while elsewhere it is payout_method.Note: On-Demand Liquidity (ODL) receivers should set payment_method to the outlet_id or the string none (not an empty value) to keep funds at the destination exchange when paying out to a local rail. ### Get payout methods - [GET /config/payout_methods](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payout-method/getpayoutmethods.md): Returns a list of payout methods created by a receiving partner. ### Get payout method by ID - [GET /config/payout_methods/{payout_method_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payout-method/getpayoutmethodbyid.md): Returns a payout method by its ID. ### Update payout method - [PUT /config/payout_methods/{payout_method_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payout-method/updatepayoutmethod.md): Updates a payout method. ### Delete payout method - [DELETE /config/payout_methods/{payout_method_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payout-method/deletepayoutmethod.md): Deletes a payout method. ### Get all categories - [GET /config/payout_methods/categories](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payout-method/getallcategories.md): Returns all the payout method categories. ## Platform accounts ### Create platform - [POST /config/platforms](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/createplatform.md): Creates a RippleNet platform, which represents a financial entity that holds accounts in the real world (e.g. Bank, Exchange or Wallet provider). This operation creates a database record for a platform account on a RippleNet node. ### Get all platforms - [GET /config/platforms](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/getallplatforms.md): Returns a list of all active RippleNet platforms. ### Get platform by platform ID - [GET /config/platforms/{platform_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/getplatformbyplatformid.md): Get a RippleNet platform by its platform ID. ### Update platform - [PUT /config/platforms/{platform_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/updateplatform.md): Updates a RippleNet platform, which represents a financial entity that holds accounts in the real world (e.g. Bank, Exchange or Wallet provider). This operation creates a database record for a platform account on a RippleNet node. ### Delete platform by platform ID - [DELETE /config/platforms/{platform_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/deleteplatformbyplatformid.md): Deletes a RippleNet platform by its platform ID. ### Create platform account - [POST /config/platforms/accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/createplatformaccount.md): Creates a RippleNet platform account, which represents a real-world account owned by a financial entity (e.g. Bank, Exchange or Wallet provider). This operation creates a database record for a platform account on a RippleNet node. ### Get platform accounts - [GET /config/platforms/accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/getplatformaccounts.md): Returns a paged list of all active RippleNet platform accounts. ### Get platform account by platform account ID - [GET /config/platforms/accounts/{platform_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/getplatformaccountbyplatformaccountid.md): Gets a RippleNet platform account by its platform account ID. ### Update platform account - [PUT /config/platforms/accounts/{platform_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/updateplatformaccount.md): Updates a RippleNet platform account, which represents a real-world account owned by a financial entity (e.g. Bank, Exchange or Wallet provider). ### Delete platform account by platform account ID - [DELETE /config/platforms/accounts/{platform_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/deleteplatformaccountbyplatformaccountid.md): Deletes a RippleNet platform account by its platform account ID. ### Get platform accounts balances - [GET /monitor/platform/accounts/balances](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/getplatformaccountsbalances.md): Get balances for local Platform Accounts ### Get platform account statement - [GET /monitor/platform/accounts/{platformAccountId}/statement](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/platform-accounts/getplatformaccountstatement.md): Get statement for a specified Platform Account ## Pool accounts ### Create pool account - [POST /config/pool_accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/createpoolaccount.md): Creates a Ripplenet pool account, which points to one or more RippleNet accounts using the same currency. With pool accounts, you can view the combined balance of all RippleNet accounts within the pool. ### Get all pool accounts - [GET /config/pool_accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/getallpoolaccounts.md): Returns a list of all pool accounts on a RippleNet node. ### Get pool account by pool account ID - [GET /config/pool_accounts/{pool_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/getpoolaccountbypoolaccountid.md): Get a pool account by its pool account ID. ### Update pool account - [PUT /config/pool_accounts/{pool_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/updatepoolaccount.md): Updates a pool account. ### Delete pool account by ID - [DELETE /config/pool_accounts/{pool_account_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/deletepoolaccountbyid.md): Deletes a pool account by its pool account ID. ### Link accounts to pool account - [PUT /config/pool_accounts/{pool_account_id}/linked_accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/linkaccountstopoolaccount.md): Links accounts to the pool account. ### Unlink accounts from pool account - [DELETE /config/pool_accounts/{pool_account_id}/linked_accounts](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/pool-accounts/unlinkaccountsfrompoolaccount.md): Unlinks accounts from the pool account. ## Quote expiration ### List quote expiries - [GET /config/payments/quote_expiries](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/getquoteexpiries.md): Returns all configured quote expiries. ### Create quote expiry - [POST /config/payments/quote_expiries](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/createquoteexpiry.md): Creates a quote expiration window, or time to live (ttl), in seconds. ### Get quote expiry - [GET /config/payments/quote_expiries/{quote_expiry_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/getquoteexpirybyid.md): Gets the time to live (ttl) of a quote expiry in seconds. ### Update quote expiry - [PUT /config/payments/quote_expiries/{quote_expiry_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/updatequoteexpiry.md): Updates the time to live (ttl) of a quote expiry in seconds. ### Delete quote expiry - [DELETE /config/payments/quote_expiries/{quote_expiry_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/deletequoteexpiry.md): Deletes a quote expiry. ### Get quote expiration - [GET /config/payments/quote_expiry](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/getquoteexpiration.md): Gets the configured quote expiration window, or time to live (ttl), in seconds. ### Set quote expiration - [PUT /config/payments/quote_expiry](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quote-expiration/setquoteexpiration.md): Sets a quote expiration window, or time to live (ttl), in seconds. To calculate the quote expiration date, xCurrent adds this value to the quote creation timestamp. ## Quotes ### Accept quote - [POST /payments/accept](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quotes/acceptquote.md): Accepts a quote ID to start the payment process. ### Get quotes - [GET /quotes](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quotes/getquotes.md): Gets a list of quotes. ### Get quote by quote ID - [GET /quotes/{quote_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quotes/getquotebyquoteid.md): Gets a quote by ID. ### Create quote collection - [POST /quote_collections](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quotes/createquotecollection.md): Creates a collection of quotes for a proposed payment. ### Get quote collection by ID - [GET /quote_collections/{quote_collection_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/quotes/getquotecollectionbyid.md): Gets a quote collection that was created for a proposed payment. ## Rates ### Get rates - [GET /config/rates](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/rates/getrates.md): Gets a list of configured exchange rates. ### Create rate - [POST /config/rates](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/rates/createrate.md): Creates an exchange rate for a specified currency pair. Example - Applying a margin to the live FX rate: A USD-GBP live FX rate of 0.80 is provided by a third-party rate provider and you want to reduce that rate by 20 BPS. In this API call, you would set "value_type": "MARGIN", then "margin_type": "BPS", and "rate": "20". After that, during the Get quotes call, the final FX rate will be calculated as 0.80*(1-(20/10000))=0.7984 and then applied during quote creation. ### Get rate by ID - [GET /config/rates/{rate_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/rates/getratebyid.md): Gets a configured exchange rate by ID. ### Update rate - [PUT /config/rates/{rate_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/rates/updaterate.md): Updates an existing exchange rate. With this call, you can change value_type from RATE to MARGIN (and vice versa), change the actual rate value of the specified value type, or both. Example - Updating an existing margin applied to the live FX rate: A USD-GBP live FX rate of 0.80 is provided by a third-party rate provider and you currently reduce that rate by 20 BPS. You now want to change it and reduce it by 10 BPS instead. To do so, set "rate": "10" in the request. Once the change is applied, the final FX rate is calculated as 0.80*(1-(10/10000))=0.7992 during the Get quotes call, and then applied during quote creation. ### Delete rate - [DELETE /config/rates/{rate_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/rates/deleterate.md): Deletes an exchange rate. Once deleted, an exchange rate cannot be accessed. ## Request for payment ### Get requests for payment - [GET /request_for_payment](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/request-for-payment/getrequestsforpayment.md): Gets requests for payment that match the query parameters. ### Send request for payment - [POST /request_for_payment](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/request-for-payment/sendrequestforpayment.md): Sends a new request for payment. ### Get request for payment by ID - [GET /request_for_payment/{request_for_payment_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/request-for-payment/getrequestforpaymentbyid.md): Gets a request for payment by request for payment ID. ### Accept request for payment - [POST /request_for_payment/{request_for_payment_id}/accept](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/request-for-payment/acceptrequestforpayment.md): Accepts a request for payment. ### Fail request for payment - [POST /request_for_payment/{request_for_payment_id}/fail](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/request-for-payment/failrequestforpayment.md): Fails a request for payment. ## Sender segregated account configuration ### Create SSA configuration - [POST /config/ssa_config](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/sender-segregated-account-configuration/createssaconfig.md): Creates a Sender Segregated Account (SSA) configuration. A SSA configuration contains funds from returns and failed payments that have been pushed forward. ### Get all SSA configurations - [GET /config/ssa_config](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/sender-segregated-account-configuration/getallssaconfig.md): Returns all Sender Segregated (SSA) configurations. ### Get SSA configuration by ID - [GET /config/ssa_config/{ssa_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/sender-segregated-account-configuration/getssaconfigbyid.md): Returns a Sender Segregated Account (SSA) configuration by its ID. ### Update SSA configuration - [PUT /config/ssa_config/{ssa_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/sender-segregated-account-configuration/updatessaconfig.md): Updates an existing Sender Segregated Account (SSA) configuration. ### Delete SSA configuration - [DELETE /config/ssa_config/{ssa_config_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/sender-segregated-account-configuration/deletessaconfig.md): Deletes a Sender Segregated Account (SSA) configuration by its ID. ## Transfers ### Get transfers - [GET /transfers](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/gettransfers.md): Gets a list of transfers. ### Get transfer estimate - [GET /transfers/estimate](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/gettransferestimate.md): Get an estimate of the fee to make an "outbound" transfer from an exchange (connected to xRapid) to an another account outside of RippleNet (such as a bank account). This operation is only available to xCurrent instances enabled as receivers of xRapid payments. ### Get transfer by ID - [GET /transfers/{transfer_id}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/gettransferbyid.md): Gets a transfer by ID. ### Execute transfer - [POST /transfers/execute](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/executetransfer.md): Transfers funds between accounts. For example, use this request to fund a connector account by transferring funds from a transactional account to the connector account. You can also use this request to redeem funds to a transactional account by transferring funds from a connector account to the transactional account. ### Complete transfer - [POST /transfers/{transfer_id}/complete](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/completetransfer.md): Updates the state of a transfer to COMPLETED. Make this request once the transfer has been made on both the ledger and on internal systems. ### Add transfer labels - [PUT /transfers/{transfer_id}/labels](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/addtransferlabels.md): Adds a list of labels to the transfer. To retrieve transfers by label, see Get transfers. ### Delete transfer labels - [DELETE /transfers/{transfer_id}/labels](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/transfers/deletetransferlabels.md): Deletes one or more existing labels from the transfer. ## schema ### Add RPO Schema - [POST /v4/orchestration/config/schema](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/schema/addrposchema.md): Adds a schema to a receiver address. ### Get All RPO Schemas - [GET /v4/orchestration/config/schema](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/schema/getrposchemas.md): Gets a list of configured RPO schemas. ### Update RPO Schemas by schema_uuid - [PUT /v4/orchestration/config/schema/{schema_uuid}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/schema/updaterposchema.md): Updates an existing RPO Schemas by schema_uuid. ### Delete RPO Schemas by 'schema_uuid' - [DELETE /v4/orchestration/config/schema/{schema_uuid}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/schema/deleterposchema.md): Deletes an existing RPO Schema by 'schema_uuid'. ### Get RPO Schemas by Address - [GET /v4/orchestration/config/schema/{receiverAddress}/](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/schema/getrposchemasbyreceiveraddress.md): Gets a list of configured RPO schemas by RippleNet Receiver Address. ### Get RPO Schemas by Address and Currency - [GET /v4/orchestration/config/schema/{receiverAddress}/{receiverCurrency}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/schema/getrposchemasbyreceiveraddressandreceivercurrency.md): Gets a list of configured RPO schemas by RippleNet Receiver Address and Currency. ## activity ### Create an activity - [POST /v4/orchestration/config/activity](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/activity/createactivity.md): Creates an activity. ### Get all activities - [GET /v4/orchestration/config/activity](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/activity/getactivities.md): Gets a list of activities. ### Get activity by name - [GET /v4/orchestration/config/activity/{name}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/activity/getactivity.md): Gets activity by name. ### update activity for retry interval change - [PUT /v4/orchestration/config/activity/{name}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/activity/updateactivitybyname.md): Updates activity for retry interval change. ### Get tenant by tenant ID - [GET /v4/orchestration/config/tenant/{tenantId}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/activity/gettenant.md): Gets tenant by tenant ID. ## Orchestration Template ### Add an orchestration template - [POST /v4/orchestration/config/template](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-template/addorchestrationtemplate.md): Adds an orchestration template with a unique name. ### Get all orchestration templates - [GET /v4/orchestration/config/template](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-template/getallorchestrationtemplate.md): Gets a list of configured orchestration templates. ### Get orchestration template by Name - [GET /v4/orchestration/config/template/{name}/](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-template/getorchestrationtemplatebyname.md): Gets a configured orchestration template by its name. ### Change default_template value of the orchestration template - [PUT /v4/orchestration/config/template/{name}/](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-template/updatedefaultorchestrationtemplatebyname.md): Changes default_template value of the orchestration template. ## diagnostics ### Check Health - [GET /v4/orchestration/health](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/diagnostics/checkhealth.md): Gets the health status of the ros server. ## payment ### Create Quote Collection - [POST /v4/orchestration/payment/quote_collections](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/payment/createquotecollection.md): Creates a collection of quotes for a proposed payment. ## tenant ### Create a new tenant - [POST /v4/orchestration/config/tenant](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/tenant/createtenant.md): Creates a new tenant. ### Get all tenants - [GET /v4/orchestration/config/tenant](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/tenant/gettenants.md): Gets a list of tenants. ### Update a tenant - [PUT /v4/orchestration/config/tenant/{tenantId}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/tenant/updatetenant.md): Updates a tenant. ## Orchestration internal action ### Post action to orchestration internal - [POST /v4/orchestration/internal/action](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-internal-action/sendorchestrationpaymentinternalaction.md): Posts internal action the Orchestration internal service. ## Orchestration internal payments ### Get orchestration payment without user info - [GET /v4/orchestration/internal/payment/{uniqueReferenceNumber}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-internal-payments/getorchestrationpaymentwithoutuserinfo.md): Gets orchestration payment without user info by unique reference number. ## Orchestration internal notifications ### Get orchestration notifications by unique reference number for internal - [GET /v4/orchestration/internal/payment/notification/urn/{uniqueReferenceNumber}](https://docs.ripple.com/products/payments-odl/api-docs/ripplenet/ripplenet/orchestration-internal-notifications/getorchestrationpaymentnotificationsbyuniquereferencenumberforinternal.md): Gets orchestration payment notifications with a given unique reference number for internal