List bills
curl --request GET \
--url https://platform.spritz.finance/v1/bills/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://platform.spritz.finance/v1/bills/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.spritz.finance/v1/bills/', 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://platform.spritz.finance/v1/bills/",
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://platform.spritz.finance/v1/bills/"
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://platform.spritz.finance/v1/bills/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.spritz.finance/v1/bills/")
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": "<string>",
"status": "active",
"name": "Chase Sapphire Card",
"type": "auto_loan",
"currency": "USD",
"createdAt": "2023-11-07T05:31:56Z",
"institution": {
"name": "Chase",
"logo": "https://example.com/chase-logo.png"
},
"accountNumberLast4": "1234",
"liability": {
"balance": "1234.56",
"statementBalance": "1100.00",
"minimumPayment": "25.00",
"lastPaymentAmount": "150.00",
"lastPaymentDate": "2025-03-01",
"nextPaymentDueDate": "2025-04-01",
"amountDue": "0.00"
},
"requirements": [
{
"type": "card_details",
"fields": [
"credit_card_number"
],
"reason": "This card is expired"
}
],
"unpayableCode": "institution_not_supported"
}
]{
"title": "Unauthorized",
"status": 401,
"type": "urn:problem-type:auth:unauthorized",
"detail": "Bearer token required",
"instance": "<string>",
"realm": "API",
"scope": "read:users"
}{
"title": "<string>",
"status": 404,
"resourceType": "user",
"resourceId": "<string>",
"type": "about:blank",
"detail": "<string>",
"instance": "<string>"
}{
"title": "Unauthorized",
"status": 400,
"type": "urn:problem-type:auth:unauthorized",
"detail": "<string>",
"instance": "/errors/1234567890",
"code": "transaction_limit",
"field": "amountUsd",
"retryable": true,
"retryAfter": 5,
"suggestedAction": "auto_ramp",
"clearsAt": "2023-11-07T05:31:56Z",
"availableAt": "2023-11-07T05:31:56Z",
"permanent": true
}Bills
List bills
Returns all linked bills for the authenticated user.
GET
/
v1
/
bills
/
List bills
curl --request GET \
--url https://platform.spritz.finance/v1/bills/ \
--header 'Authorization: Bearer <token>'import requests
url = "https://platform.spritz.finance/v1/bills/"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://platform.spritz.finance/v1/bills/', 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://platform.spritz.finance/v1/bills/",
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://platform.spritz.finance/v1/bills/"
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://platform.spritz.finance/v1/bills/")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.spritz.finance/v1/bills/")
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": "<string>",
"status": "active",
"name": "Chase Sapphire Card",
"type": "auto_loan",
"currency": "USD",
"createdAt": "2023-11-07T05:31:56Z",
"institution": {
"name": "Chase",
"logo": "https://example.com/chase-logo.png"
},
"accountNumberLast4": "1234",
"liability": {
"balance": "1234.56",
"statementBalance": "1100.00",
"minimumPayment": "25.00",
"lastPaymentAmount": "150.00",
"lastPaymentDate": "2025-03-01",
"nextPaymentDueDate": "2025-04-01",
"amountDue": "0.00"
},
"requirements": [
{
"type": "card_details",
"fields": [
"credit_card_number"
],
"reason": "This card is expired"
}
],
"unpayableCode": "institution_not_supported"
}
]{
"title": "Unauthorized",
"status": 401,
"type": "urn:problem-type:auth:unauthorized",
"detail": "Bearer token required",
"instance": "<string>",
"realm": "API",
"scope": "read:users"
}{
"title": "<string>",
"status": 404,
"resourceType": "user",
"resourceId": "<string>",
"type": "about:blank",
"detail": "<string>",
"instance": "<string>"
}{
"title": "Unauthorized",
"status": 400,
"type": "urn:problem-type:auth:unauthorized",
"detail": "<string>",
"instance": "/errors/1234567890",
"code": "transaction_limit",
"field": "amountUsd",
"retryable": true,
"retryAfter": 5,
"suggestedAction": "auto_ramp",
"clearsAt": "2023-11-07T05:31:56Z",
"availableAt": "2023-11-07T05:31:56Z",
"permanent": true
}Authorizations
bearerAuthintegratorJwtbearerAuth & hmacAuth & integratorKey & timestamp
User bearer credential: either a Cognito JWT or an ak_ user API key. Backend integrators using HMAC must include the user API key alongside the three HMAC headers on user-scoped endpoints.
Response
Response for status 200
Unique identifier for the bill
Available options:
active, pending, inactive, rejected, action_required Provider bill name or generated fallback label
Example:
"Chase Sapphire Card"
Available options:
auto_loan, credit_card, loan, mobile_phone, mortgage, student_loan, utility, unknown Available options:
USD, CAD, EUR, GBP When the bill was linked
Financial institution details
Show child attributes
Show child attributes
Last 4 digits of the bill account number
Example:
"1234"
Liability data from the bill provider. All fields are optional and amounts are decimal strings.
Show child attributes
Show child attributes
Actions the user must complete before the bill is payable. Present (non-empty) when status is action_required.
Show child attributes
Show child attributes
Available options:
institution_not_supported, account_number_invalid, account_verification_failed, not_supported