# Payments Direct 1.0 API
Use the {% $env.PUBLIC_VAR_RPD %} 1.0 API to get quotes, create and manage payments, and manage originator and beneficiary identities.
## API environments
The {% $env.PUBLIC_VAR_RPD %} 1.0 API offers the following environments:
|
Environment
| Base URL |
| --- | --- |
| Test | `https://{customer-name}.test.rnc.ripplenet.com/v4` |
| Production | `https://{customer-name}.rnc.ripplenet.com/v4` |
## Base URL
The base URL for the {% $env.PUBLIC_VAR_RPD %} 1.0 API follows the `{domainprefix}.{domain}` pattern. For the test environment, the `{domainprefix}` is `{customername}.test`. For the production environment, the {`domainprefix}` is `{customername}`.
**Note**: The following examples use `aperture` as the customer name, your customer name will be different.
#### URL format
This is the URL format for the {% $env.PUBLIC_VAR_RPD %} 1.0 API.
```plaintext
https://{domainprefix}.{domain}/v4
```
#### Example base URL
This is an example base URL for the {% $env.PUBLIC_VAR_RPD %} 1.0 API.
```plaintext
https://aperture.test.rnc.ripplenet.com/v4/{path}?{parameters}
```
#### Example fully-qualified URL
This connects to the test environment and requests a list of payments with 100 results per page.
```plaintext
https://aperture.test.rnc.ripplenet.com/v4/payments?page=0&size=100
```
| Environment | Domain Prefix
| Domain | Base URL |
| --- | --- | --- | --- |
| Test | `aperture.test.rnc` | `ripplenet.com`| `https://aperture.test.rnc.ripplenet.com/v4` |
| Production | `aperture.rnc` | `ripplenet.com`| `https://aperture.rnc.ripplenet.com/v4` |
## API authentication
All {% $env.PUBLIC_VAR_RPD %} 1.0 API operations require a Bearer access token specific to the environment you're using. Ripple provides a secure model for authentication and authorization by providing access tokens scoped for a set of credentials.
### Generate client ID and client secret
You will need your _client ID_ and _client secret_ to obtain an access token.
If you do not already have your client ID and client secret, do the following:
1. Log into the Ripple Payments UI.
2. In the left navigation menu, click **Settings**.
3. Under **Administration**, click **API Credentials**.
4. In the dropdown list next to the page title, select the access environment. For example, to provision credentials for the test environment, select **Test** from the dropdown list.
5. In the upper right corner of the page, click **New Credential**.
6. Click **Save and Generate Key**.
**Caution:** The *client secret* is displayed only once when you are creating new credentials. You cannot retrieve the secret after exiting this page. Copy and store the client secret securely and share it with authorized individuals in accordance with your organization's security policy.
You can now use the client ID and client secret to generate access tokens using the [Request an access token](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/authentication/authenticate) operation.
### Request an access token
To get an access token, use the [Request an access token](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/authentication/authenticate) operation with your `client_id` and `client_secret`. The response contains a token in the `access_token` field.
We recommend rotating your API credentials at regular intervals according to your organization's security policy.
**Note**: Authentication tokens are not a fixed length and can vary, avoid validating tokens based on character length.
Version:
## Security
### Bearer
Type: http
Scheme: bearer
Bearer Format: JWT
## Download OpenAPI description
[Payments Direct 1.0 API](https://docs.ripple.com/_bundle/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-external.yaml)
## Payments
Use these API operations to manage your payments.
| Operation | Method | Description |
| --- | --- | --- |
| [Get payments](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/payments/getpayments) | GET | Get a list of existing payments. |
| [Get payment by payment ID](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/payments/getpaymentbypaymentid) | GET | Get a specific payment by payment ID. |
### Get payments
- [GET /payments](https://docs.ripple.com/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-external/payments/getpayments.md): Retrieves all payments 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-direct/api-docs/payments-direct-api/reference/payments-direct-external/payments/getpaymentbypaymentid.md): Gets a payment by ID.
## Quotes
Use these API operations to manage your quotes.
| Operation | Method | Description |
| --- | --- | --- |
| [Accept quote](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/quotes/acceptquote) | POST | Accepts a quote ID to start the payment process. |
| [Create quote collection](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/quotes/createquotecollection) | POST | Create a collection of quotes. |
### Accept quote
- [POST /payments/accept](https://docs.ripple.com/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-external/quotes/acceptquote.md): Accepts a quote ID to start the payment process.
Tutorials
* Learn how to Accept a quote.
* Learn how to Work with the user_info object.
### Create quote collection
- [POST /quote_collections](https://docs.ripple.com/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-external/quotes/createquotecollection.md): Creates a collection of quotes for a proposed payment.
Prerequisite
* Learn how to Get a payout method.
Tutorials
* Learn how to Create a quote collection.
## Routing
Use this API operation to look up a payout method.
| Operation | Method | Description |
| --- | --- | --- |
| [Get payout method](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/routing/routingtablelookup) | GET | Look up a payout method. |
### Get payout method
- [GET /config/routing_table/lookup](https://docs.ripple.com/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-external/routing/routingtablelookup.md): Look up the payout method based on the beneficiary's country.
Tutorial
* Learn how to get a payout method.
## Balances
Use this API operation to get your account balance information.
| Operation | Method | Description |
| --- | --- | --- |
| [Get spendable balance](/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-api/balances/getspendablebalance) | GET | Retrieve account balances. |
### Get spendable balance information
- [GET /spendable_balance](https://docs.ripple.com/products/payments-direct/api-docs/payments-direct-api/reference/payments-direct-external/balances/getspendablebalance.md): Retrieves your spendable balance.
Note: The response contains either the funded_balance or the credit_usage object depending on your funding method. If you're using the Funded Payments method, the response contains only the funded_balance object. If you're using the T+1 Invoicing method, the response contains only the credit_usage object.