curl --request POST \
--url https://api.augustus.com/v1/simulations/account_programs/{id}/drain \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"destination": {
"type": "iban",
"iban": "DE89370400440532013000",
"account_holder_name": "Acme Sandbox Ltd.",
"bic": "COBADEFFXXX"
}
}
'import requests
url = "https://api.augustus.com/v1/simulations/account_programs/{id}/drain"
payload = { "destination": {
"type": "iban",
"iban": "DE89370400440532013000",
"account_holder_name": "Acme Sandbox Ltd.",
"bic": "COBADEFFXXX"
} }
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: {
type: 'iban',
iban: 'DE89370400440532013000',
account_holder_name: 'Acme Sandbox Ltd.',
bic: 'COBADEFFXXX'
}
})
};
fetch('https://api.augustus.com/v1/simulations/account_programs/{id}/drain', 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.augustus.com/v1/simulations/account_programs/{id}/drain",
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([
'destination' => [
'type' => 'iban',
'iban' => 'DE89370400440532013000',
'account_holder_name' => 'Acme Sandbox Ltd.',
'bic' => 'COBADEFFXXX'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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.augustus.com/v1/simulations/account_programs/{id}/drain"
payload := strings.NewReader("{\n \"destination\": {\n \"type\": \"iban\",\n \"iban\": \"DE89370400440532013000\",\n \"account_holder_name\": \"Acme Sandbox Ltd.\",\n \"bic\": \"COBADEFFXXX\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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.augustus.com/v1/simulations/account_programs/{id}/drain")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destination\": {\n \"type\": \"iban\",\n \"iban\": \"DE89370400440532013000\",\n \"account_holder_name\": \"Acme Sandbox Ltd.\",\n \"bic\": \"COBADEFFXXX\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.augustus.com/v1/simulations/account_programs/{id}/drain")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination\": {\n \"type\": \"iban\",\n \"iban\": \"DE89370400440532013000\",\n \"account_holder_name\": \"Acme Sandbox Ltd.\",\n \"bic\": \"COBADEFFXXX\"\n }\n}"
response = http.request(request)
puts response.read_body{
"type": "account_program_simulation",
"account_program_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payout_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}Drain an account program
Creates outbound payouts that drain the residual balance of every frozen account under the program to the provided destination. The program must be frozen. Every returned payout_ids[i] must be settled via POST /v1/simulations/payouts/{id}/send for the program balance to reach zero. This endpoint is unavailable in live production.
curl --request POST \
--url https://api.augustus.com/v1/simulations/account_programs/{id}/drain \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--data '
{
"destination": {
"type": "iban",
"iban": "DE89370400440532013000",
"account_holder_name": "Acme Sandbox Ltd.",
"bic": "COBADEFFXXX"
}
}
'import requests
url = "https://api.augustus.com/v1/simulations/account_programs/{id}/drain"
payload = { "destination": {
"type": "iban",
"iban": "DE89370400440532013000",
"account_holder_name": "Acme Sandbox Ltd.",
"bic": "COBADEFFXXX"
} }
headers = {
"Idempotency-Key": "<idempotency-key>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'Idempotency-Key': '<idempotency-key>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
destination: {
type: 'iban',
iban: 'DE89370400440532013000',
account_holder_name: 'Acme Sandbox Ltd.',
bic: 'COBADEFFXXX'
}
})
};
fetch('https://api.augustus.com/v1/simulations/account_programs/{id}/drain', 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.augustus.com/v1/simulations/account_programs/{id}/drain",
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([
'destination' => [
'type' => 'iban',
'iban' => 'DE89370400440532013000',
'account_holder_name' => 'Acme Sandbox Ltd.',
'bic' => 'COBADEFFXXX'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>"
],
]);
$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.augustus.com/v1/simulations/account_programs/{id}/drain"
payload := strings.NewReader("{\n \"destination\": {\n \"type\": \"iban\",\n \"iban\": \"DE89370400440532013000\",\n \"account_holder_name\": \"Acme Sandbox Ltd.\",\n \"bic\": \"COBADEFFXXX\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("Authorization", "Bearer <token>")
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.augustus.com/v1/simulations/account_programs/{id}/drain")
.header("Idempotency-Key", "<idempotency-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"destination\": {\n \"type\": \"iban\",\n \"iban\": \"DE89370400440532013000\",\n \"account_holder_name\": \"Acme Sandbox Ltd.\",\n \"bic\": \"COBADEFFXXX\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.augustus.com/v1/simulations/account_programs/{id}/drain")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destination\": {\n \"type\": \"iban\",\n \"iban\": \"DE89370400440532013000\",\n \"account_holder_name\": \"Acme Sandbox Ltd.\",\n \"bic\": \"COBADEFFXXX\"\n }\n}"
response = http.request(request)
puts response.read_body{
"type": "account_program_simulation",
"account_program_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"payout_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}Authorizations
Bearer token for authentication with Augustus Banking API
Headers
Idempotency key for safe retries. Reusing a key with an identical request body returns the cached response. Reusing a key with a different body returns 409.
Path Parameters
ID of the account program whose lifecycle is being simulated.
Body
Account program drain parameters
Fiat financial address to which the residual balance of every frozen account under the program is drained.
- IBAN
- UK Sort Code
- ABA
Show child attributes
Show child attributes
{
"type": "iban",
"iban": "DE89370400440532013000",
"account_holder_name": "Acme Sandbox Ltd.",
"bic": "COBADEFFXXX"
}
Response
The account program drain simulation acknowledgement
Resource type discriminator.
account_program_simulation Account program whose lifecycle is being simulated.
Payouts created by the drain. Feed each id to POST /v1/simulations/payouts/{id}/send to settle.
Was this page helpful?