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"
},
"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": {
"auto_hold": true,
"auto_hold_message": "<string>"
},
"status": "created",
"status_details": {
"message": "Payment successfully created and awaiting validation.",
"reason": "OK",
"source": "system",
"changed_at": "2023-11-07T05:31:56Z",
"code": null
},
"status_history": [
{
"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",
"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"
}
],
"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"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"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"
},
"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"
},
"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"
},
"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"
},
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}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.
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"
},
"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": {
"auto_hold": true,
"auto_hold_message": "<string>"
},
"status": "created",
"status_details": {
"message": "Payment successfully created and awaiting validation.",
"reason": "OK",
"source": "system",
"changed_at": "2023-11-07T05:31:56Z",
"code": null
},
"status_history": [
{
"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",
"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"
}
],
"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"
}
]
}
}{
"meta": {
"api_request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"api_request_timestamp": "2023-11-07T05:31:56Z"
},
"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"
},
"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"
},
"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"
},
"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"
},
"error": {
"status": 123,
"type": "<string>",
"title": "<string>",
"detail": "<string>",
"items": [
{
"detail": "<string>",
"reference": "<string>"
}
]
}
}Authorizations
Use your Straddle API Key in the Authorization header as Bearer to authorize API requests.
Headers
For use by platforms to specify an account id and set scope of a request.
Optional client generated identifier to trace and debug a request.
Optional client generated identifier to trace and debug a series of requests.
Optional client generated value to use for idempotent requests.
10 - 40Path Parameters
Body
The document file to upload as proof of authorization for this payout.
Response
Created
Metadata about the API request, including an identifier and timestamp.
Show child attributes
Show child attributes
Indicates the structure of the returned content.
- "object" means the
datafield contains a single JSON object. - "array" means the
datafield contains an array of objects. - "error" means the
datafield contains an error object with details of the issue. - "none" means no data is returned.
object, array, error, none Show child attributes
Show child attributes
Related topics
Upload proof of authorization for a charge2026 changelog and product updatesPayment status and lifecycle referenceSecurely share data with StraddleACH payment authorization guideWas this page helpful?