cURL
curl --request POST \
--header 'Authorization: Bearer YOUR_SECRET_API_KEY' \
--url https://sandbox.straddle.com/v1/payouts/<uuid>/authorization \
--header 'Content-Type: multipart/form-data' \
--data '{
"File": "<string>"
}'const form = new FormData();
form.append('File', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://{environment}.straddle.com/v1/payouts/{id}/authorization', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{environment}.straddle.com/v1/payouts/{id}/authorization"
files = { "File": ("example-file", open("example-file", "rb")) }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, files=files, headers=headers)
print(response.text)require 'uri'
require 'net/http'
url = URI("https://{environment}.straddle.com/v1/payouts/{id}/authorization")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'multipart/form-data; boundary=---011000010111000001101001'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"File\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"paykey": "<string>",
"description": "<string>",
"amount": "10000",
"currency": "USD",
"payment_date": "2023-12-25",
"device": {
"ip_address": "192.168.1.1"
},
"external_id": "<string>",
"config": {
"sandbox_outcome": "standard",
"auto_hold": true,
"auto_hold_message": "<string>"
},
"status": "created",
"status_details": {
"message": "Bank account sucesfully validated",
"reason": "insufficient_funds",
"source": "watchtower",
"changed_at": "2023-11-07T05:31:56Z",
"code": "<string>"
},
"status_history": [
{
"reason": "insufficient_funds",
"source": "watchtower",
"message": "Payment successfully created and awaiting validation.",
"changed_at": "2023-11-07T05:31:56Z",
"status": "created",
"code": null
}
],
"funding_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"trace_ids": {},
"is_refund": true,
"is_resubmit": true,
"has_resubmit": true,
"payment_rail": "ach",
"customer_details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Ron Swanson",
"customer_type": "individual",
"email": "[email protected]",
"phone": "+1234567890"
},
"paykey_details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "Bank of America ****1234",
"balance": "100.00"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"processed_at": "2023-11-07T05:31:56Z",
"effective_at": "2023-11-07T05:31:56Z",
"metadata": {},
"related_payments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"relationship": "original",
"payment_type": "charge"
}
],
"documents": [
{
"document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"document_name": "<string>",
"document_type": "payment_authorization",
"document_size": 123,
"uploaded_at": "2023-11-07T05:31:56Z"
}
],
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}Payouts
Upload proof of authorization for a payout
Uploads a document as proof of authorization for a payout. Uploading again adds another entry to documents rather than replacing the previous one.
POST
/
v1
/
payouts
/
{id}
/
authorization
cURL
curl --request POST \
--header 'Authorization: Bearer YOUR_SECRET_API_KEY' \
--url https://sandbox.straddle.com/v1/payouts/<uuid>/authorization \
--header 'Content-Type: multipart/form-data' \
--data '{
"File": "<string>"
}'const form = new FormData();
form.append('File', '<string>');
const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
options.body = form;
fetch('https://{environment}.straddle.com/v1/payouts/{id}/authorization', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{environment}.straddle.com/v1/payouts/{id}/authorization"
files = { "File": ("example-file", open("example-file", "rb")) }
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, files=files, headers=headers)
print(response.text)require 'uri'
require 'net/http'
url = URI("https://{environment}.straddle.com/v1/payouts/{id}/authorization")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'multipart/form-data; boundary=---011000010111000001101001'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"File\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001--"
response = http.request(request)
puts response.read_body{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"paykey": "<string>",
"description": "<string>",
"amount": "10000",
"currency": "USD",
"payment_date": "2023-12-25",
"device": {
"ip_address": "192.168.1.1"
},
"external_id": "<string>",
"config": {
"sandbox_outcome": "standard",
"auto_hold": true,
"auto_hold_message": "<string>"
},
"status": "created",
"status_details": {
"message": "Bank account sucesfully validated",
"reason": "insufficient_funds",
"source": "watchtower",
"changed_at": "2023-11-07T05:31:56Z",
"code": "<string>"
},
"status_history": [
{
"reason": "insufficient_funds",
"source": "watchtower",
"message": "Payment successfully created and awaiting validation.",
"changed_at": "2023-11-07T05:31:56Z",
"status": "created",
"code": null
}
],
"funding_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"trace_ids": {},
"is_refund": true,
"is_resubmit": true,
"has_resubmit": true,
"payment_rail": "ach",
"customer_details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "Ron Swanson",
"customer_type": "individual",
"email": "[email protected]",
"phone": "+1234567890"
},
"paykey_details": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"customer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"label": "Bank of America ****1234",
"balance": "100.00"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"processed_at": "2023-11-07T05:31:56Z",
"effective_at": "2023-11-07T05:31:56Z",
"metadata": {},
"related_payments": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"relationship": "original",
"payment_type": "charge"
}
],
"documents": [
{
"document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"document_name": "<string>",
"document_type": "payment_authorization",
"document_size": 123,
"uploaded_at": "2023-11-07T05:31:56Z"
}
],
"subscription_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"response_type": "object",
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}Authorizations
Headers
Body
multipart/form-data
Was this page helpful?