Fincore · API reference · Reports
Download a report file
Base URL https://apicore.stg.finch.lat · operationId downloadReport
Returns a download URL for a generated report file (transactions or account statement). If no matching file is found, response fields are returned empty.
Authorization
JWT bearer token created from client credentials. Use the Authentication guide to generate a token before calling protected endpoints.
Path parameters
client_id string (uuid) requiredUnique identifier of the client (UUID).
Request body application/json · required
client_id string (uuid) Unique client identifier.
clabe_number string Associated account CLABE. Required when report_type is DAILY_ACCOUNT_STATEMENT or MONTHLY_ACCOUNT_STATEMENT. Must belong to the client.
report_type string requiredReport type to download. For MONTHLY and MONTHLY_ACCOUNT_STATEMENT, operation_date is normalized to the last day of the month.
MONTHLY DAILY DAILY_ACCOUNT_STATEMENT MONTHLY_ACCOUNT_STATEMENT operation_date string (date) requiredOperation date in YYYY-MM-DD format. For MONTHLY and MONTHLY_ACCOUNT_STATEMENT, this is normalized to the last day of the month (example: 2025-08-25 -> 2025-08-31).
Responses
200 Report file found. Returns file name and download URL. Fields are empty if no matching file exists. application/json
file_name string requiredGenerated file name. Empty when no matching file was found.
download_url string requiredFile download URL. Empty when no matching file was found.
400 Validation error. Possible messages include Invalid UUID format for client_id, Invalid report_type: <value>, clabe_number is required for account statement reports, Invalid clabe number, or invalid operation_date format. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
401 Missing, expired, invalid, or environment-mismatched API key or bearer token. See Authentication. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
404 Client, generated report, account statement, or requested report resource was not found. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
500 Unexpected server error. See Error catalog before retrying non-idempotent operations. application/json
code integer requiredgRPC status code mapped to HTTP.
message string requiredGeneral error message.
details array of ErrorDetail requiredDetailed error causes returned by the service.
reason details[].reason string requiredMachine-readable error category.
DATA_ERROR FAILED_PRECONDITION MISSING_REQUIRED_FIELDS RESOURCE_NOT_FOUND UNAUTHORIZED PERMISSION_DENIED UNIQUE_VIOLATION INTERNAL domain details[].domain string requiredService domain that produced the error.
metadata details[].metadata object requiredAdditional error metadata, including the detailed message and HTTP code.
error_detail details[].metadata.error_detail string Human-readable detail returned by the service.
http_code details[].metadata.http_code string HTTP status code associated with this error.
error_code details[].metadata.error_code string Optional internal error catalog code when available.
Request
curl -X POST "https://apicore.stg.finch.lat/v1/reports/clients/c2d1d1e3-3340-4170-980e-e9269bbbc551/report/download" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"clabe_number": "123456789012345678",
"report_type": "DAILY_ACCOUNT_STATEMENT",
"operation_date": "2025-08-25"
}'const body = JSON.stringify({
"clabe_number": "123456789012345678",
"report_type": "DAILY_ACCOUNT_STATEMENT",
"operation_date": "2025-08-25"
});
const res = await fetch("https://apicore.stg.finch.lat/v1/reports/clients/c2d1d1e3-3340-4170-980e-e9269bbbc551/report/download", {
method: "POST",
headers: {
"Authorization": `Bearer ${TOKEN}`,
"Content-Type": "application/json",
},
body,
});
const data = await res.json();import requests
payload = {
"clabe_number": "123456789012345678",
"report_type": "DAILY_ACCOUNT_STATEMENT",
"operation_date": "2025-08-25"
}
res = requests.post(
"https://apicore.stg.finch.lat/v1/reports/clients/c2d1d1e3-3340-4170-980e-e9269bbbc551/report/download",
headers={
"Authorization": f"Bearer {TOKEN}",
"Content-Type": "application/json",
},
json=payload,
)
data = res.json()Request body examples
{
"clabe_number": "123456789012345678",
"report_type": "DAILY_ACCOUNT_STATEMENT",
"operation_date": "2025-08-25"
}{
"report_type": "DAILY",
"operation_date": "2025-08-25"
}Response
{
"file_name": "daily_account_statement_123456789012345678_20260224.csv",
"download_url": "https://..."
}{
"code": 9,
"message": "API Error",
"details": [
{
"reason": "FAILED_PRECONDITION",
"domain": "CORE",
"metadata": {
"error_detail": "The account does not have sufficient funds.",
"http_code": "400",
"error_code": "10-E4120"
}
}
]
}{
"code": 16,
"message": "API Error",
"details": [
{
"reason": "UNAUTHORIZED",
"domain": "CORE",
"metadata": {
"error_detail": "Invalid Credentials",
"http_code": "401"
}
}
]
}{
"code": 9,
"message": "API Error",
"details": [
{
"reason": "FAILED_PRECONDITION",
"domain": "CORE",
"metadata": {
"error_detail": "The account does not have sufficient funds.",
"http_code": "400",
"error_code": "10-E4120"
}
}
]
}{
"code": 9,
"message": "API Error",
"details": [
{
"reason": "FAILED_PRECONDITION",
"domain": "CORE",
"metadata": {
"error_detail": "The account does not have sufficient funds.",
"http_code": "400",
"error_code": "10-E4120"
}
}
]
}