List Person Batch Payouts ( STABLE )
curl --request GET \
--url https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}', 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.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}",
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://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}"
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://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}")
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{
"status": true,
"message": "",
"data": {
"batch_payouts": [
{
"uuid": "9bd53fe1-ac74-4e81-b6f2-be88b7c86a68",
"amount": 4400,
"trace_id": "ach_11kt6v9715jp67t",
"payout_status": "PAYOUT_COMPLETE",
"ach_return_code": null,
"failure_reason": null,
"created_at": "2025-02-17 11:15:15",
"updated_at": "2025-02-18 17:15:15"
}
],
"pagination": {
"current_page": 1,
"total_pages": 2,
"total_items": 12,
"per_page": 10
}
},
"errors": null,
"error_code": null
}{
"status": false,
"message": "Invalid Parameters Received: startDate, endDate",
"data": null,
"errors": null,
"error_code": null
}{
"status": false,
"message": "Invalid Token",
"data": null,
"errors": null,
"error_code": null
}{
"status": false,
"message": "Person not found.",
"data": null,
"errors": null,
"error_code": null
}{
"status": false,
"message": "The given data was invalid.",
"data": null,
"errors": {
"start_date": [
"The start date does not match the format Y-m-d.",
"The start date must be a date before or equal to end date."
],
"end_date": [
"The end date does not match the format Y-m-d.",
"The end date must be a date after or equal to start date."
],
"sort_order": [
"The selected sort order is invalid."
],
"per_page": [
"The per page must be an integer.",
"The per page must be at least 1.",
"The per page may not be greater than 100."
],
"page": [
"The page must be an integer.",
"The page must be at least 1."
]
},
"error_code": null
}Payouts
List Person Batch Payouts ( STABLE )
This API retrieves all person batch payouts associated with the person user UUID. The response provides comprehensive details about each payout, including the total amount and detailed information for each payout.
GET
/
3p
/
api
/
v2
/
batch-payouts
/
person
/
{user_uuid}
List Person Batch Payouts ( STABLE )
curl --request GET \
--url https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}', 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.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}",
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://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}"
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://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.grailpay.com/3p/api/v2/batch-payouts/person/{user_uuid}")
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{
"status": true,
"message": "",
"data": {
"batch_payouts": [
{
"uuid": "9bd53fe1-ac74-4e81-b6f2-be88b7c86a68",
"amount": 4400,
"trace_id": "ach_11kt6v9715jp67t",
"payout_status": "PAYOUT_COMPLETE",
"ach_return_code": null,
"failure_reason": null,
"created_at": "2025-02-17 11:15:15",
"updated_at": "2025-02-18 17:15:15"
}
],
"pagination": {
"current_page": 1,
"total_pages": 2,
"total_items": 12,
"per_page": 10
}
},
"errors": null,
"error_code": null
}{
"status": false,
"message": "Invalid Parameters Received: startDate, endDate",
"data": null,
"errors": null,
"error_code": null
}{
"status": false,
"message": "Invalid Token",
"data": null,
"errors": null,
"error_code": null
}{
"status": false,
"message": "Person not found.",
"data": null,
"errors": null,
"error_code": null
}{
"status": false,
"message": "The given data was invalid.",
"data": null,
"errors": {
"start_date": [
"The start date does not match the format Y-m-d.",
"The start date must be a date before or equal to end date."
],
"end_date": [
"The end date does not match the format Y-m-d.",
"The end date must be a date after or equal to start date."
],
"sort_order": [
"The selected sort order is invalid."
],
"per_page": [
"The per page must be an integer.",
"The per page must be at least 1.",
"The per page may not be greater than 100."
],
"page": [
"The page must be an integer.",
"The page must be at least 1."
]
},
"error_code": null
}Authorizations
Token-based authentication using Authorization: Bearer <YOUR_API_KEY> provided by the GrailPay Support Team.
Path Parameters
UUID of the user
Query Parameters
Filter by start date (YYYY-MM-DD)
Filter by end date (YYYY-MM-DD)
Sort order ('oldest' or 'newest')
Available options:
oldest, newest Page number for pagination
Example:
1
Number of records per page
Example:
10
⌘I
