curl --request GET \
--url https://api.bachs.io/v1/balance_settings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bachs.io/v1/balance_settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bachs.io/v1/balance_settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bachs.io/v1/balance_settings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"schedule_by_currency": {
"NGN": {
"currency": "NGN",
"payout_currency": "NGN",
"interval": "weekly",
"weekly_payout_days": [
"monday",
"thursday"
],
"monthly_payout_days": null,
"anchor_hour_utc": 9,
"minimum_amount": "5000.00",
"next_run_at": "2026-08-13T09:00:00.000Z",
"last_run_at": null,
"last_withdrawal_id": null,
"disabled_reason": null
}
}
}{
"detail": "Invalid API key",
"error_code": "UNAUTHORIZED"
}{
"detail": "API key does not have permission for this operation",
"error_code": "FORBIDDEN"
}{
"detail": "Resource not found",
"error_code": "NOT_FOUND"
}Get payout schedule
Read the payout schedule for your account, or for a connected account named by X-Account-Id. Its own resource rather than a block on the account object, so a platform can read timing without pulling the whole account.
curl --request GET \
--url https://api.bachs.io/v1/balance_settings \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bachs.io/v1/balance_settings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bachs.io/v1/balance_settings"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bachs.io/v1/balance_settings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"schedule_by_currency": {
"NGN": {
"currency": "NGN",
"payout_currency": "NGN",
"interval": "weekly",
"weekly_payout_days": [
"monday",
"thursday"
],
"monthly_payout_days": null,
"anchor_hour_utc": 9,
"minimum_amount": "5000.00",
"next_run_at": "2026-08-13T09:00:00.000Z",
"last_run_at": null,
"last_withdrawal_id": null,
"disabled_reason": null
}
}
}{
"detail": "Invalid API key",
"error_code": "UNAUTHORIZED"
}{
"detail": "API key does not have permission for this operation",
"error_code": "FORBIDDEN"
}{
"detail": "Resource not found",
"error_code": "NOT_FOUND"
}Authorizations
Bearer token authentication. Pass your API key as Authorization: Bearer sk_.... See Authentication for keys, scopes, and sandbox vs production.
Headers
Read the schedule of a connected account you own instead of your own. Same resolution every other API-key route uses: the account must be yours or one you own, or the request 404s.
Response
The account's payout schedule, keyed by currency. A currency with no schedule is absent rather than present and empty.
Payout schedules, keyed by the balance currency each one governs. A currency with no schedule is absent rather than present and empty, so you can tell "never configured" from "pays out weekly".
Show child attributes
Show child attributes

