curl --request GET \
--url https://api.sandbox.lead.bank/v2/files/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.lead.bank/v2/files/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.lead.bank/v2/files/{id}', 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.sandbox.lead.bank/v2/files/{id}",
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.sandbox.lead.bank/v2/files/{id}"
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.sandbox.lead.bank/v2/files/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.lead.bank/v2/files/{id}")
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{
"id": "file_7RwQ2mK9pL4xT1vN8jS5",
"uploaded_by": "partner",
"file_name": "loan_agreement_acct_4471.pdf",
"type": "loan_agreement",
"content_type": "application/pdf",
"size_bytes": 184233,
"checksum": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"created_at": "2026-09-14T14:22:01Z",
"updated_at": "2026-09-14T14:22:01Z",
"metadata": {}
}{
"code": "request_malformed",
"message": "The request is invalid and cannot be parsed by the server.",
"errors": [
{
"code": "url_malformed",
"message": "The request URL could not be parsed."
}
]
}{
"code": "token_invalid",
"message": "The bearer token is missing, expired, or invalid."
}{
"code": "object_not_found",
"message": "No object exists at the requested ID, or it is not visible to this caller."
}{
"code": "parameters_invalid",
"message": "One or more parameters are invalid.",
"errors": [
{
"code": "malformed",
"message": "The file ID format is invalid.",
"parameters": [
"id"
]
}
]
}{
"code": "rate_limit_exceeded",
"message": "You have exceeded the rate limit for this endpoint. Retry with backoff."
}{
"code": "internal_server_error",
"message": "Something went wrong on our end. Contact Lead with the Request-Id if this persists."
}{
"code": "service_unavailable",
"message": "The service is temporarily unavailable. Retry after the indicated delay."
}{
"code": "gateway_timeout",
"message": "An upstream system timed out. Retry with backoff."
}Retrieve a File
Retrieve a File’s metadata by its ID. No bytes or download URL are returned.
curl --request GET \
--url https://api.sandbox.lead.bank/v2/files/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.sandbox.lead.bank/v2/files/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.sandbox.lead.bank/v2/files/{id}', 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.sandbox.lead.bank/v2/files/{id}",
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.sandbox.lead.bank/v2/files/{id}"
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.sandbox.lead.bank/v2/files/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.lead.bank/v2/files/{id}")
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{
"id": "file_7RwQ2mK9pL4xT1vN8jS5",
"uploaded_by": "partner",
"file_name": "loan_agreement_acct_4471.pdf",
"type": "loan_agreement",
"content_type": "application/pdf",
"size_bytes": 184233,
"checksum": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"created_at": "2026-09-14T14:22:01Z",
"updated_at": "2026-09-14T14:22:01Z",
"metadata": {}
}{
"code": "request_malformed",
"message": "The request is invalid and cannot be parsed by the server.",
"errors": [
{
"code": "url_malformed",
"message": "The request URL could not be parsed."
}
]
}{
"code": "token_invalid",
"message": "The bearer token is missing, expired, or invalid."
}{
"code": "object_not_found",
"message": "No object exists at the requested ID, or it is not visible to this caller."
}{
"code": "parameters_invalid",
"message": "One or more parameters are invalid.",
"errors": [
{
"code": "malformed",
"message": "The file ID format is invalid.",
"parameters": [
"id"
]
}
]
}{
"code": "rate_limit_exceeded",
"message": "You have exceeded the rate limit for this endpoint. Retry with backoff."
}{
"code": "internal_server_error",
"message": "Something went wrong on our end. Contact Lead with the Request-Id if this persists."
}{
"code": "service_unavailable",
"message": "The service is temporarily unavailable. Retry after the indicated delay."
}{
"code": "gateway_timeout",
"message": "An upstream system timed out. Retry with backoff."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The Lead-issued file id returned by POST /v2/files.
Lead-issued identifier of the file, from POST /v2/files.
^file_\w+$"file_7RwQ2mK9pL4xT1vN8jS5"
Response
The file's metadata.
Unique ID of the file. Use this to link the file to Entity, Application and User Account objects.
"file_7RwQ2mK9pL4xT1vN8jS5"
Who created the file. Set by Lead, not declarable on upload.
partner: created by you through the files API.lead: reserved for files Lead itself creates.
partner, lead "partner"
The filename you declared, taken from the uploaded part's filename
header.
255"loan_agreement_acct_4471.pdf"
The file's type. Must be a valid enum.
The accepted values are grouped by the object the file can be linked to.
Application and User Account
aan, ach_authorization, autopay_authorization, bo_certification,
cardholder_agreement, consent_to_link_account, consent_to_link_hsa,
consumer_credit_auth, credit_pull_consent, credit_score_notice,
decision_maker_document, deposit_agreement, eft_authorization,
esign_agreement, fcra_notice, lead_funds_transfer_agreement,
lead_privacy_policy, loan_agreement, loc_agreement,
missed_payments_policy, mla_notice, negative_option_consent,
notice_of_incompleteness, offer_summary, partner_privacy_policy,
patriot_act_notice, periodic_statement, personal_guarantee,
pre_approval_terms, prohibited_industry_certification, tcpa_consent,
terms_of_use, truth_in_lending_document
Entity — individual
adverse_media, bank_statement, drivers_license,
financial_statement, id_selfie, investigation_report,
matriculate_id, military_id, national_id, passport,
permanent_residency_id, proof_of_address, public_records,
state_or_provincial_id, utility_bills
Entity — business
adverse_media, bank_statement, certificate_of_good_standing,
financial_statement, formation_document, id_selfie,
investigation_report, partnership_agreement,
proof_of_address, proof_of_place_on_stock_exchange, public_records,
tax_certificate, tax_returns, utility_bills
Entity — sole prop
adverse_media, bank_statement, drivers_license,
financial_statement, id_selfie, investigation_report,
matriculate_id, military_id, name_certificate, national_id,
passport, permanent_residency_id, proof_of_address,
public_records, state_or_provincial_id, tax_certificate,
tax_returns, utility_bills
"loan_agreement"
MIME type of the file (e.g., application/pdf), taken from the Content-Type header of the multipart file part.
"application/pdf"
Size of the file in bytes.
184233
A SHA-256 checksum digest of the file bytes, computed by Lead as the file is received.
"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
The ISO-8601 timestamp at which the file was created.
"2026-09-14T14:22:01Z"
The ISO-8601 timestamp at which the file was last updated.
"2026-09-14T14:22:01Z"
A set of key-value pairs that can be used to store additional information related to this object.
Show child attributes
Show child attributes
{}
Was this page helpful?

