Get Document URL
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url', 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.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-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"
"net/http"
"io"
)
func main() {
url := "https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"message": "Document URL generated",
"success": true,
"data": {
"download_url": "https://files.rolla.xyz/payer_name_docs/...?token=..."
}
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 403,
"message": "Payer names are not enabled for this account. Contact your Rolla account manager to turn them on.",
"code": "PAYER_NAMES_DISABLED"
}{
"status": 404,
"message": "Document not found"
}Payer Names (Named Payouts)
Get Document URL
Issues a fresh signed download URL for one document attached to a payer name, valid for 1 hour. The document must belong to that payer name and the payer name to your account; anything else answers 404.
GET
/
payer-names
/
{payerNameId}
/
documents
/
{documentId}
/
url
Get Document URL
curl --request GET \
--url https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url', 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.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-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"
"net/http"
"io"
)
func main() {
url := "https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rolla.xyz/api/v1/external/payer-names/{payerNameId}/documents/{documentId}/url")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"message": "Document URL generated",
"success": true,
"data": {
"download_url": "https://files.rolla.xyz/payer_name_docs/...?token=..."
}
}{
"status": 400,
"message": "Validation failed",
"code": "ACCOUNT_RESTRICTED",
"errors": [
{
"path": [
"amount"
],
"message": "amount must be a whole number of smallest currency units (e.g. cents)"
}
]
}{
"status": 403,
"message": "Payer names are not enabled for this account. Contact your Rolla account manager to turn them on.",
"code": "PAYER_NAMES_DISABLED"
}{
"status": 404,
"message": "Document not found"
}Issues a fresh signed download link for one document attached to a payer name.
Documents are stored privately. The
The link is valid for 1 hour and grants access to whoever holds it — treat it like a credential and do not put it somewhere public.
downloadUrl returned inside a payer name expires 1 hour after that response was generated, so a link you cached earlier will stop working — call this endpoint when you need a live one.
Example Request
curl "https://api.rolla.xyz/api/v1/external/payer-names/9f8e7d6c-5b4a-4938-8271-0a1b2c3d4e5f/documents/2b3c4d5e-6f70-4812-9a3b-4c5d6e7f8091/url" \
-H "X-API-Key: your_api_key_here"
Example Response
{
"status": 200,
"message": "Document URL generated",
"success": true,
"data": {
"download_url": "https://files.rolla.xyz/payer_name_docs/...?token=..."
}
}
documentId must be a document on that payer name, and the payer name must belong to your account. Anything else answers 404.Authorizations
Your Rolla API key
Path Parameters
The payer name id.
The document id, as returned in documents[].id.