Evolução por categoria
curl --request GET \
--url https://api.despezzas.com/v1/reports/categories-evolution \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/reports/categories-evolution', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/reports/categories-evolution"
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/categories-evolution"
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))
}{
"expenses": {
"previous_total": 1950000,
"series": [
{
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
}
],
"total": 2030000,
"total_by_period": [
690000,
650000,
690000
],
"others": {
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
},
"variation_percent": 4.1
},
"incomes": {
"previous_total": 1950000,
"series": [
{
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
}
],
"total": 2030000,
"total_by_period": [
690000,
650000,
690000
],
"others": {
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
},
"variation_percent": 4.1
},
"periods": [
"2026-07",
"2026-08",
"2026-09"
],
"previous_range": {
"end_date": "2026-06-30",
"start_date": "2026-04-01"
},
"range": {
"end_date": "2026-09-30",
"start_date": "2026-07-01"
}
}{
"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"
}Relatórios
Evolução por categoria
Escopo necessário: read.
GET
/
v1
/
reports
/
categories-evolution
Evolução por categoria
curl --request GET \
--url https://api.despezzas.com/v1/reports/categories-evolution \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/reports/categories-evolution', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/reports/categories-evolution"
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/categories-evolution"
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))
}{
"expenses": {
"previous_total": 1950000,
"series": [
{
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
}
],
"total": 2030000,
"total_by_period": [
690000,
650000,
690000
],
"others": {
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
},
"variation_percent": 4.1
},
"incomes": {
"previous_total": 1950000,
"series": [
{
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
}
],
"total": 2030000,
"total_by_period": [
690000,
650000,
690000
],
"others": {
"average_monthly": 211000,
"id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"share_percent": 31.2,
"title": "Alimentação",
"total": 633000,
"values": [
210000,
198000,
225000
],
"icon_background_color": "#F97316",
"icon_name": "restaurant",
"image": null,
"is_essential": true,
"previous_total": 600000,
"variation_percent": 5.5
},
"variation_percent": 4.1
},
"periods": [
"2026-07",
"2026-08",
"2026-09"
],
"previous_range": {
"end_date": "2026-06-30",
"start_date": "2026-04-01"
},
"range": {
"end_date": "2026-09-30",
"start_date": "2026-07-01"
}
}{
"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
basicAuthapiSecret & apiToken
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
Mês final (YYYY-MM). Padrão: mês atual.
Example:
"2026-09"
Quantidade de meses (3–12). Padrão: 6.
Example:
6
Filtra pelas contas informadas (repita o parâmetro ou use account_ids[]). Também aceita a forma account_ids[].
Example:
["3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"]
Filtra pelos cartões informados. Também aceita a forma credit_card_ids[].
Example:
["c4d5e6f7-0a1b-4c2d-9e3f-4a5b6c7d8e9f"]
Filtra pelas tags informadas. Também aceita a forma tag_ids[].
Example:
["e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"]
Response
Sucesso.
Evolução mês a mês das categorias no intervalo.