curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/payments/wix/payouts \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/payments/wix/payouts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/payments/wix/payouts', 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://app.base44.com/api/apps/{app_id}/payments/wix/payouts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/payments/wix/payouts"
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))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/payments/wix/payouts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/payments/wix/payouts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"payouts": [
{
"account_profile_id": "3f6d2a90-8e14-4c57-b2a9-6e0f1d7c4b28",
"date": "2026-07-15",
"estimated_arrival": "2026-07-18",
"id": "7c1a3e52-4b0d-4f7e-9a61-2d8f5c3b9e10",
"money": {
"amount": 21485,
"currency": "usd"
},
"status": "sent"
}
],
"scheduled": {
"date": "2026-07-19",
"money": {
"amount": 21485,
"currency": "usd"
}
},
"on_hold": {
"amount": 21485,
"currency": "usd"
},
"balance_unavailable": false,
"total": 21,
"has_more": true,
"next_cursor": "gAAAAABn7vJ2kXq9..."
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}List Wix Payments payouts
Returns the app’s Wix Payments payouts, newest first, along with the funds scheduled to be paid out and the funds on hold.
The data is read live from Wix Payments. The first page also reads the account balance: scheduled and on_hold are filled in only there, and balance_unavailable is true when Wix couldn’t return the balance while the payouts themselves still came back.
Pass next_cursor back as cursor to get the next page, and leave limit out when you do, since the cursor keeps the page size you started with. Every page covers only what was created before the first page was read, so a new one doesn’t shift the pages you’re walking. A cursor expires after 24 hours.
This endpoint is limited to 60 requests per minute, scoped to your account rather than the workspace.
To open the payouts page of the Wix Payments dashboard instead, call Get Wix Payments dashboard link with destination set to payouts.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/payments/wix/payouts \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/payments/wix/payouts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/payments/wix/payouts', 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://app.base44.com/api/apps/{app_id}/payments/wix/payouts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/payments/wix/payouts"
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))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/payments/wix/payouts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/payments/wix/payouts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"payouts": [
{
"account_profile_id": "3f6d2a90-8e14-4c57-b2a9-6e0f1d7c4b28",
"date": "2026-07-15",
"estimated_arrival": "2026-07-18",
"id": "7c1a3e52-4b0d-4f7e-9a61-2d8f5c3b9e10",
"money": {
"amount": 21485,
"currency": "usd"
},
"status": "sent"
}
],
"scheduled": {
"date": "2026-07-19",
"money": {
"amount": 21485,
"currency": "usd"
}
},
"on_hold": {
"amount": 21485,
"currency": "usd"
},
"balance_unavailable": false,
"total": 21,
"has_more": true,
"next_cursor": "gAAAAABn7vJ2kXq9..."
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}{
"error": {
"code": "not_found",
"message": "App not found",
"details": {}
}
}Authorizations
Personal access token, sent as Authorization: Bearer <token>.
Path Parameters
ID of the Base44 app.
Query Parameters
next_cursor from the previous page. Leave it out to get the first page.
Payouts per page, from 1 to 100. Defaults to 20. Send it only on the first page.
1 <= x <= 100Response
One page of the app's payouts, with its scheduled and held funds on the first page.
One page of payouts, newest first.
Show child attributes
Show child attributes
[
{
"account_profile_id": "3f6d2a90-8e14-4c57-b2a9-6e0f1d7c4b28",
"date": "2026-07-15",
"estimated_arrival": "2026-07-18",
"id": "7c1a3e52-4b0d-4f7e-9a61-2d8f5c3b9e10",
"money": { "amount": 21485, "currency": "usd" },
"status": "sent"
}
]
Funds already scheduled to be paid out. null when nothing is scheduled, when the balance couldn't be read, and on every page after the first.
Show child attributes
Show child attributes
Funds Wix is holding back from payouts. null when nothing is on hold, when the balance couldn't be read, and on every page after the first.
Show child attributes
Show child attributes
true when Wix couldn't return the balance, so scheduled and on_hold are null even if funds exist. Always false on pages after the first, which don't read the balance.
false
Total number of payouts created before the first page was read, as Wix reports it.
21
Whether more payouts follow this page.
true
Pass as cursor to get the next page, or null on the last page. Expires after 24 hours.
"gAAAAABn7vJ2kXq9..."
Was this page helpful?