Create a direct debit
Creates a direct debit mandate from paper mandate details.
curl --request POST \
--url 'https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits?accountId={{accountId}}' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"reference": "fre4r5tg",
"processingDate": "2025-01-15",
"priority": 2,
"originator": {
"id": "123456",
"accountName": "Netflix Inc",
"address": {
"addressType": "ADDR",
"streetName": "Upper Thames Street",
"buildingNumber": "68",
"buildingName": "Vintners Place",
"postcode": "EC4V 3BJ",
"city": "London",
"countryCode": "GB"
}
}
}
'import requests
url = "https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits"
payload = {
"reference": "fre4r5tg",
"processingDate": "2025-01-15",
"priority": 2,
"originator": {
"id": "123456",
"accountName": "Netflix Inc",
"address": {
"addressType": "ADDR",
"streetName": "Upper Thames Street",
"buildingNumber": "68",
"buildingName": "Vintners Place",
"postcode": "EC4V 3BJ",
"city": "London",
"countryCode": "GB"
}
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reference: 'fre4r5tg',
processingDate: '2025-01-15',
priority: 2,
originator: {
id: '123456',
accountName: 'Netflix Inc',
address: {
addressType: 'ADDR',
streetName: 'Upper Thames Street',
buildingNumber: '68',
buildingName: 'Vintners Place',
postcode: 'EC4V 3BJ',
city: 'London',
countryCode: 'GB'
}
}
})
};
fetch('https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reference' => 'fre4r5tg',
'processingDate' => '2025-01-15',
'priority' => 2,
'originator' => [
'id' => '123456',
'accountName' => 'Netflix Inc',
'address' => [
'addressType' => 'ADDR',
'streetName' => 'Upper Thames Street',
'buildingNumber' => '68',
'buildingName' => 'Vintners Place',
'postcode' => 'EC4V 3BJ',
'city' => 'London',
'countryCode' => 'GB'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits"
payload := strings.NewReader("{\n \"reference\": \"fre4r5tg\",\n \"processingDate\": \"2025-01-15\",\n \"priority\": 2,\n \"originator\": {\n \"id\": \"123456\",\n \"accountName\": \"Netflix Inc\",\n \"address\": {\n \"addressType\": \"ADDR\",\n \"streetName\": \"Upper Thames Street\",\n \"buildingNumber\": \"68\",\n \"buildingName\": \"Vintners Place\",\n \"postcode\": \"EC4V 3BJ\",\n \"city\": \"London\",\n \"countryCode\": \"GB\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reference\": \"fre4r5tg\",\n \"processingDate\": \"2025-01-15\",\n \"priority\": 2,\n \"originator\": {\n \"id\": \"123456\",\n \"accountName\": \"Netflix Inc\",\n \"address\": {\n \"addressType\": \"ADDR\",\n \"streetName\": \"Upper Thames Street\",\n \"buildingNumber\": \"68\",\n \"buildingName\": \"Vintners Place\",\n \"postcode\": \"EC4V 3BJ\",\n \"city\": \"London\",\n \"countryCode\": \"GB\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reference\": \"fre4r5tg\",\n \"processingDate\": \"2025-01-15\",\n \"priority\": 2,\n \"originator\": {\n \"id\": \"123456\",\n \"accountName\": \"Netflix Inc\",\n \"address\": {\n \"addressType\": \"ADDR\",\n \"streetName\": \"Upper Thames Street\",\n \"buildingNumber\": \"68\",\n \"buildingName\": \"Vintners Place\",\n \"postcode\": \"EC4V 3BJ\",\n \"city\": \"London\",\n \"countryCode\": \"GB\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "775596ae-2624-40af-a9dc-9756110a4a03",
"budgetId": "775596ae-2624-40af-a9dc-9756110a4a03",
"reference": "fre4r5tg",
"status": "ACTIVE",
"priority": 2,
"originator": {
"id": "123456",
"accountName": "Netflix Inc",
"address": {
"addressType": "ADDR",
"addressLine": "Vintners Place, 68, Upper Thames Street",
"city": "London",
"postcode": "EC4V 3BJ",
"countryCode": "GB"
}
},
"createdAt": "2019-08-24T14:15:22Z"
}Authorizations
Path Parameters
The ID of the budget to work with.
36"775596ae-2624-40af-a9dc-9756110a4a03"
Query Parameters
The ID of the account to work with.
"F50091"
Body
Body
The direct debit reference, which may be set by the originator.
1 - 18"fre4r5tg"
The payment priority when there are insufficient funds.
1 <= x <= 102
Show child attributes
Show child attributes
The processing date of the direct debit.
"2025-01-15"
Response
Created
The unique identifier of the direct debit.
"775596ae-2624-40af-a9dc-9756110a4a03"
The ID of the budget to work with.
36"775596ae-2624-40af-a9dc-9756110a4a03"
The direct debit reference, which may be set by the originator.
"fre4r5tg"
The status of the direct debit.
ACTIVE, CANCELLED "ACTIVE"
The payment priority when there are insufficient funds.
1 <= x <= 102
Show child attributes
Show child attributes
The date the Resource was initially created. ISO 8601 format without milliseconds.
Was this page helpful?
curl --request POST \
--url 'https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits?accountId={{accountId}}' \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"reference": "fre4r5tg",
"processingDate": "2025-01-15",
"priority": 2,
"originator": {
"id": "123456",
"accountName": "Netflix Inc",
"address": {
"addressType": "ADDR",
"streetName": "Upper Thames Street",
"buildingNumber": "68",
"buildingName": "Vintners Place",
"postcode": "EC4V 3BJ",
"city": "London",
"countryCode": "GB"
}
}
}
'import requests
url = "https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits"
payload = {
"reference": "fre4r5tg",
"processingDate": "2025-01-15",
"priority": 2,
"originator": {
"id": "123456",
"accountName": "Netflix Inc",
"address": {
"addressType": "ADDR",
"streetName": "Upper Thames Street",
"buildingNumber": "68",
"buildingName": "Vintners Place",
"postcode": "EC4V 3BJ",
"city": "London",
"countryCode": "GB"
}
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
reference: 'fre4r5tg',
processingDate: '2025-01-15',
priority: 2,
originator: {
id: '123456',
accountName: 'Netflix Inc',
address: {
addressType: 'ADDR',
streetName: 'Upper Thames Street',
buildingNumber: '68',
buildingName: 'Vintners Place',
postcode: 'EC4V 3BJ',
city: 'London',
countryCode: 'GB'
}
}
})
};
fetch('https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reference' => 'fre4r5tg',
'processingDate' => '2025-01-15',
'priority' => 2,
'originator' => [
'id' => '123456',
'accountName' => 'Netflix Inc',
'address' => [
'addressType' => 'ADDR',
'streetName' => 'Upper Thames Street',
'buildingNumber' => '68',
'buildingName' => 'Vintners Place',
'postcode' => 'EC4V 3BJ',
'city' => 'London',
'countryCode' => 'GB'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits"
payload := strings.NewReader("{\n \"reference\": \"fre4r5tg\",\n \"processingDate\": \"2025-01-15\",\n \"priority\": 2,\n \"originator\": {\n \"id\": \"123456\",\n \"accountName\": \"Netflix Inc\",\n \"address\": {\n \"addressType\": \"ADDR\",\n \"streetName\": \"Upper Thames Street\",\n \"buildingNumber\": \"68\",\n \"buildingName\": \"Vintners Place\",\n \"postcode\": \"EC4V 3BJ\",\n \"city\": \"London\",\n \"countryCode\": \"GB\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"reference\": \"fre4r5tg\",\n \"processingDate\": \"2025-01-15\",\n \"priority\": 2,\n \"originator\": {\n \"id\": \"123456\",\n \"accountName\": \"Netflix Inc\",\n \"address\": {\n \"addressType\": \"ADDR\",\n \"streetName\": \"Upper Thames Street\",\n \"buildingNumber\": \"68\",\n \"buildingName\": \"Vintners Place\",\n \"postcode\": \"EC4V 3BJ\",\n \"city\": \"London\",\n \"countryCode\": \"GB\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.equalsmoney.com/v2/budgets/{budgetId}/direct-debits")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reference\": \"fre4r5tg\",\n \"processingDate\": \"2025-01-15\",\n \"priority\": 2,\n \"originator\": {\n \"id\": \"123456\",\n \"accountName\": \"Netflix Inc\",\n \"address\": {\n \"addressType\": \"ADDR\",\n \"streetName\": \"Upper Thames Street\",\n \"buildingNumber\": \"68\",\n \"buildingName\": \"Vintners Place\",\n \"postcode\": \"EC4V 3BJ\",\n \"city\": \"London\",\n \"countryCode\": \"GB\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "775596ae-2624-40af-a9dc-9756110a4a03",
"budgetId": "775596ae-2624-40af-a9dc-9756110a4a03",
"reference": "fre4r5tg",
"status": "ACTIVE",
"priority": 2,
"originator": {
"id": "123456",
"accountName": "Netflix Inc",
"address": {
"addressType": "ADDR",
"addressLine": "Vintners Place, 68, Upper Thames Street",
"city": "London",
"postcode": "EC4V 3BJ",
"countryCode": "GB"
}
},
"createdAt": "2019-08-24T14:15:22Z"
}