curl --request GET \
--url https://api.despezzas.com/v1/reports/installments \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/reports/installments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/reports/installments"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/reports/installments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"as_of": "2026-09-15",
"by_category": [
{
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"monthly_amount": 59980,
"remaining_amount": 500000,
"series_count": 2,
"share_percent": 66.7,
"title": "Alimentação",
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true
}
],
"by_destination": [
{
"id": "c4d5e6f7-0a1b-4c2d-9e3f-4a5b6c7d8e9f",
"kind": "credit_card",
"monthly_amount": 89970,
"name": "Nubank Mastercard",
"remaining_amount": 750000,
"series_count": 3,
"logo": "https://cdn.despezzas.com/banks/nubank.png"
}
],
"monthly": [
{
"amount": 89970,
"count": 3,
"ending_count": 0,
"is_current": false,
"is_projected": true,
"period": "2026-10"
}
],
"series": [
{
"destination": {
"id": "c4d5e6f7-0a1b-4c2d-9e3f-4a5b6c7d8e9f",
"kind": "credit_card",
"name": "Nubank Mastercard",
"logo": "https://cdn.despezzas.com/banks/nubank.png"
},
"end_period": "2027-05",
"frequency": "MONTHLY",
"incomplete": false,
"installment_amount": 29990,
"installments": 12,
"is_expense": true,
"key": "7a6b5c4d-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
"paid_amount": 119960,
"paid_count": 4,
"progress_percent": 33.3,
"remaining_amount": 239920,
"remaining_count": 8,
"start_date": "2026-06-03",
"status": "active",
"title": "TV 4K",
"total_amount": 359880,
"category": {
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"is_essential": true,
"title": "Alimentação",
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null
},
"logo_url": null,
"next_date": "2026-10-03",
"next_transaction_id": "1d2e3f4a-5b6c-4d7e-8f9a-0b1c2d3e4f5a"
}
],
"status": "active",
"summary": {
"active_series": 3,
"average_income": 800000,
"average_installment": 35700,
"current_month_amount": 89970,
"ending_next_month": 1,
"ending_this_month": 0,
"finished_series": 5,
"next_month_amount": 89970,
"paid_amount": 450000,
"remaining_amount": 750000,
"remaining_installments": 21,
"total_amount": 1200000,
"last_end_period": "2027-05",
"share_of_income_percent": 11.2
}
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}Parcelamentos em aberto
Escopo necessário: read.
curl --request GET \
--url https://api.despezzas.com/v1/reports/installments \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/reports/installments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/reports/installments"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/reports/installments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"as_of": "2026-09-15",
"by_category": [
{
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"monthly_amount": 59980,
"remaining_amount": 500000,
"series_count": 2,
"share_percent": 66.7,
"title": "Alimentação",
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true
}
],
"by_destination": [
{
"id": "c4d5e6f7-0a1b-4c2d-9e3f-4a5b6c7d8e9f",
"kind": "credit_card",
"monthly_amount": 89970,
"name": "Nubank Mastercard",
"remaining_amount": 750000,
"series_count": 3,
"logo": "https://cdn.despezzas.com/banks/nubank.png"
}
],
"monthly": [
{
"amount": 89970,
"count": 3,
"ending_count": 0,
"is_current": false,
"is_projected": true,
"period": "2026-10"
}
],
"series": [
{
"destination": {
"id": "c4d5e6f7-0a1b-4c2d-9e3f-4a5b6c7d8e9f",
"kind": "credit_card",
"name": "Nubank Mastercard",
"logo": "https://cdn.despezzas.com/banks/nubank.png"
},
"end_period": "2027-05",
"frequency": "MONTHLY",
"incomplete": false,
"installment_amount": 29990,
"installments": 12,
"is_expense": true,
"key": "7a6b5c4d-3e2f-4a1b-9c8d-7e6f5a4b3c2d",
"paid_amount": 119960,
"paid_count": 4,
"progress_percent": 33.3,
"remaining_amount": 239920,
"remaining_count": 8,
"start_date": "2026-06-03",
"status": "active",
"title": "TV 4K",
"total_amount": 359880,
"category": {
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"is_essential": true,
"title": "Alimentação",
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null
},
"logo_url": null,
"next_date": "2026-10-03",
"next_transaction_id": "1d2e3f4a-5b6c-4d7e-8f9a-0b1c2d3e4f5a"
}
],
"status": "active",
"summary": {
"active_series": 3,
"average_income": 800000,
"average_installment": 35700,
"current_month_amount": 89970,
"ending_next_month": 1,
"ending_this_month": 0,
"finished_series": 5,
"next_month_amount": 89970,
"paid_amount": 450000,
"remaining_amount": 750000,
"remaining_installments": 21,
"total_amount": 1200000,
"last_end_period": "2027-05",
"share_of_income_percent": 11.2
}
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}Authorizations
HTTP Basic com o token como usuário e o secret como senha: curl -u dpz_tk_…:dpz_sk_…. Crie a chave em https://despezzas.com/settings/api-keys.
Query Parameters
Séries a incluir. Padrão: active.
active, finished, all "active"
Filtra pelas contas informadas (repita o parâmetro ou use account_ids[]). Também aceita a forma account_ids[].
["3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"]
Filtra pelos cartões informados. Também aceita a forma credit_card_ids[].
["c4d5e6f7-0a1b-4c2d-9e3f-4a5b6c7d8e9f"]
Filtra pelas tags informadas. Também aceita a forma tag_ids[].
["e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"]
Response
Sucesso.
Parcelamentos: resumo, curva mensal, séries e agrupamentos.
Data de referência (YYYY-MM-DD).
"2026-09-15"
Agrupado por categoria.
Show child attributes
Show child attributes
Agrupado por cartão/conta.
Show child attributes
Show child attributes
Curva mensal das parcelas.
Show child attributes
Show child attributes
Uma entrada por compra parcelada.
Show child attributes
Show child attributes
Filtro aplicado.
active, finished, all "active"
Show child attributes
Show child attributes