# Outbound Payment

Source: https://docs.gocardless.com/docs/api-reference/outbound-payment

## Create an outbound payment

`POST /outbound_payments`

### Request body

Wrap request body attributes in a `outbound_payments` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | integer | No | Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). |
| `scheme` | string | No | Bank payment scheme to process the outbound payment. Currently only "faster_payments" (GBP) is supported. |
| `description` | string | No | A human-readable description of the outbound payment |
| `execution_date` | string | No | A future date on which the outbound payment should be sent. If not specified, the payment will be sent as soon as possible. |
| `metadata` | object | No | Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |
| `reference` | string | No | An optional reference that will appear on your customer's bank statement. The character limit for this reference is dependent on the scheme.<br /> <strong>Faster Payments</strong> - 18 characters, including: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 &-./"<br /> |
| `links` | object | No |  |

### Responses

| Status | Description |
| --- | --- |
| 201 | Resource created successfully |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## List outbound payments

`GET /outbound_payments`

Returns a [cursor-paginated](#api-usage-cursor-pagination) list of outbound payments.

### Responses

| Status | Description |
| --- | --- |
| 200 | Successful response |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## Create a withdrawal outbound payment

`POST /outbound_payments/withdrawal`

Creates an outbound payment to your verified business bank account as the recipient.

### Request body

Wrap request body attributes in a `outbound_payments` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `amount` | integer | No | Amount, in the lowest denomination for the currency (e.g. pence in GBP, cents in EUR). |
| `scheme` | string | No | Bank payment scheme to process the outbound payment. Currently only "faster_payments" (GBP) is supported. |
| `description` | string | No | A human-readable description of the outbound payment |
| `execution_date` | string | No | A future date on which the outbound payment should be sent. If not specified, the payment will be sent as soon as possible. |
| `metadata` | object | No | Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |
| `reference` | string | No | An optional reference that will appear on your customer's bank statement. The character limit for this reference is dependent on the scheme.<br /> <strong>Faster Payments</strong> - 18 characters, including: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 &-./"<br /> |
| `links` | object | No |  |

### Responses

| Status | Description |
| --- | --- |
| 201 | Resource created successfully |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## Cancel an outbound payment

`POST /outbound_payments/{outbound_payment_id}/actions/cancel`

Cancels an outbound payment. Only outbound payments with either `verifying`, `pending_approval`, or `scheduled` status can be cancelled.
Once an outbound payment is `executing`, the money moving process has begun and cannot be reversed.

### Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `outbound_payment_id` | path | string | Yes | The outbound payment id |

### Request body

Wrap request body attributes in a `outbound_payments` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `metadata` | object | No | Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |

### Responses

| Status | Description |
| --- | --- |
| 200 | Action completed successfully |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## Approve an outbound payment

`POST /outbound_payments/{outbound_payment_id}/actions/approve`

Approves an outbound payment. Only outbound payments with the "pending_approval" status can be approved.

### Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `outbound_payment_id` | path | string | Yes | The outbound payment id |

### Request body

Wrap request body attributes in a `outbound_payments` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |

### Responses

| Status | Description |
| --- | --- |
| 200 | Action completed successfully |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## Get an outbound payment

`GET /outbound_payments/{outbound_payment_id}`

Fetches an outbound_payment by ID

### Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `outbound_payment_id` | path | string | Yes | The outbound payment id |

### Responses

| Status | Description |
| --- | --- |
| 200 | Successful response |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## Update an outbound payment

`PUT /outbound_payments/{outbound_payment_id}`

Updates an outbound payment object. This accepts only the metadata parameter.

### Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `outbound_payment_id` | path | string | Yes | The outbound payment id |

### Request body

Wrap request body attributes in a `outbound_payments` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `metadata` | object | No | Key-value store of custom data. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |

### Responses

| Status | Description |
| --- | --- |
| 200 | Successful response |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |

---

## Outbound payment statistics

`GET /outbound_payments/stats`

Retrieve aggregate statistics on outbound payments.

### Responses

| Status | Description |
| --- | --- |
| 200 | Successful response |
| 400 | Bad Request |
| 401 | Unauthorised |
| 404 | Not found |
| 422 | Validation Error |
| 500 | Internal Error |
