Linha do tempo
curl --request GET \
--url https://api.despezzas.com/v1/reports/timeline \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/reports/timeline', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/reports/timeline"
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/timeline"
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))
}{
"daily_series": [
{
"date": "2026-09-15",
"expenses": 25990,
"revenues": 0
}
],
"previous_range": {
"end_date": "2026-08-31",
"start_date": "2026-08-01"
},
"range": {
"end_date": "2026-09-30",
"start_date": "2026-09-01"
},
"totals": {
"current": {
"balance": 195000,
"expenses": 605000,
"revenues": 800000
},
"previous": {
"balance": 140000,
"expenses": 640000,
"revenues": 780000
},
"variation_percent": {
"balance": 39.3,
"expenses": -5.5,
"revenues": 2.6
}
}
}{
"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
Linha do tempo
Receitas e despesas dia a dia no período, com o período anterior para comparação.
Escopo necessário: read.
GET
/
v1
/
reports
/
timeline
Linha do tempo
curl --request GET \
--url https://api.despezzas.com/v1/reports/timeline \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/reports/timeline', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/reports/timeline"
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/timeline"
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))
}{
"daily_series": [
{
"date": "2026-09-15",
"expenses": 25990,
"revenues": 0
}
],
"previous_range": {
"end_date": "2026-08-31",
"start_date": "2026-08-01"
},
"range": {
"end_date": "2026-09-30",
"start_date": "2026-09-01"
},
"totals": {
"current": {
"balance": 195000,
"expenses": 605000,
"revenues": 800000
},
"previous": {
"balance": 140000,
"expenses": 640000,
"revenues": 780000
},
"variation_percent": {
"balance": 39.3,
"expenses": -5.5,
"revenues": 2.6
}
}
}{
"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
Início do período (YYYY-MM-DD).
Example:
"2026-09-01"
Fim do período (YYYY-MM-DD).
Example:
"2026-09-30"
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"]