# Billing Request Template

Source: https://docs.gocardless.com/docs/api-reference/billing-request-template

## List Billing Request Templates

`GET /billing_request_templates`

Returns a [cursor-paginated](#api-usage-cursor-pagination) list of your Billing Request Templates.

### Responses

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

---

## Create a Billing Request Template

`POST /billing_request_templates`

### Request body

Wrap request body attributes in a `billing_request_templates` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | No | Name for the template. Provides a friendly human name for the template, as it is shown in the dashboard. Must not exceed 255 characters. |
| `mandate_request_currency` | object | No | [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency code. |
| `mandate_request_scheme` | string | No | A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported. Optional for mandate only requests - if left blank, the payer will be able to select the currency/scheme to pay with from a list of your available schemes. |
| `mandate_request_verify` | string | No | Verification preference for the mandate. |
| `mandate_request_metadata` | object | No | Key-value store of custom data that will be applied to the mandate created when this request is fulfilled. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |
| `payment_request_description` | string | No | A human-readable description of the payment and/or mandate. This will be displayed to the payer when authorising the billing request. |
| `mandate_request_description` | string | No | A human-readable description of the payment and/or mandate. This will be displayed to the payer when authorising the billing request. |
| `mandate_request_constraints` | object | No | Constraints that will apply to the mandate_request. (Optional) Specifically required for PayTo and VRP. |
| `payment_request_amount` | string | No | Amount in full. |
| `payment_request_currency` | object | No | [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency code. `GBP` and `EUR` supported; `GBP` with your customers in the UK and for `EUR` with your customers in supported Eurozone countries only. |
| `payment_request_scheme` | string | No | (Optional) A scheme used for Open Banking payments. Currently `faster_payments` is supported in the UK (GBP) and `sepa_credit_transfer` and `sepa_instant_credit_transfer` are supported in supported Eurozone countries (EUR). For Eurozone countries, `sepa_credit_transfer` is used as the default. Please be aware that `sepa_instant_credit_transfer` may incur an additional fee for your customer. |
| `payment_request_metadata` | object | No | Key-value store of custom data that will be applied to the payment created when this request is fulfilled. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |
| `redirect_uri` | string | No | URL that the payer can be redirected to after completing the request flow. |
| `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. |
| `links` | object | No |  |

### Responses

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

---

## Get a single Billing Request Template

`GET /billing_request_templates/{billing_request_template_id}`

Fetches a Billing Request Template

### Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billing_request_template_id` | path | string | Yes | The billing request template id |

### Responses

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

---

## Update a Billing Request Template

`PUT /billing_request_templates/{billing_request_template_id}`

Updates a Billing Request Template, which will affect all future Billing Requests created by this template.

### Parameters

| Name | Location | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `billing_request_template_id` | path | string | Yes | The billing request template id |

### Request body

Wrap request body attributes in a `billing_request_templates` object.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string | No | Name for the template. Provides a friendly human name for the template, as it is shown in the dashboard. Must not exceed 255 characters. |
| `mandate_request_currency` | object | No | [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency code. |
| `mandate_request_scheme` | string | No | A bank payment scheme. Currently "ach", "autogiro", "bacs", "becs", "becs_nz", "betalingsservice", "faster_payments", "pad", "pay_to" and "sepa_core" are supported. Optional for mandate only requests - if left blank, the payer will be able to select the currency/scheme to pay with from a list of your available schemes. |
| `mandate_request_verify` | string | No | Verification preference for the mandate. |
| `mandate_request_metadata` | object | No | Key-value store of custom data that will be applied to the mandate created when this request is fulfilled. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |
| `payment_request_description` | string | No | A human-readable description of the payment and/or mandate. This will be displayed to the payer when authorising the billing request. |
| `mandate_request_description` | string | No | A human-readable description of the payment and/or mandate. This will be displayed to the payer when authorising the billing request. |
| `mandate_request_constraints` | object | No | Constraints that will apply to the mandate_request. (Optional) Specifically required for PayTo and VRP. |
| `payment_request_amount` | string | No | Amount in full. |
| `payment_request_currency` | object | No | [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency code. `GBP` and `EUR` supported; `GBP` with your customers in the UK and for `EUR` with your customers in supported Eurozone countries only. |
| `payment_request_scheme` | string | No | (Optional) A scheme used for Open Banking payments. Currently `faster_payments` is supported in the UK (GBP) and `sepa_credit_transfer` and `sepa_instant_credit_transfer` are supported in supported Eurozone countries (EUR). For Eurozone countries, `sepa_credit_transfer` is used as the default. Please be aware that `sepa_instant_credit_transfer` may incur an additional fee for your customer. |
| `payment_request_metadata` | object | No | Key-value store of custom data that will be applied to the payment created when this request is fulfilled. Up to 3 keys are permitted, with key names up to 50 characters and values up to 500 characters. |
| `redirect_uri` | string | No | URL that the payer can be redirected to after completing the request flow. |
| `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 |
