curl --request PUT \
--url https://api.despezzas.com/v1/transactions/{id} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f",
"amount": 25990,
"category_id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"competence_date": null,
"contact_id": null,
"cost_center_id": null,
"credit_card_id": null,
"currency": "BRL",
"date": "2026-09-15",
"description": "Compra do mês",
"document_number": null,
"edition_date": null,
"edition_type": null,
"frequency": "MONTHLY",
"installments": 1,
"is_expense": true,
"is_full_amount": false,
"paid": true,
"show_on_balance": true,
"subcategory_id": "d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a",
"tag_ids": [
"e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"
],
"title": "Supermercado Pão de Açúcar",
"type": "FIXED"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f',
amount: 25990,
category_id: 'b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d',
competence_date: null,
contact_id: null,
cost_center_id: null,
credit_card_id: null,
currency: 'BRL',
date: '2026-09-15',
description: 'Compra do mês',
document_number: null,
edition_date: null,
edition_type: null,
frequency: 'MONTHLY',
installments: 1,
is_expense: true,
is_full_amount: false,
paid: true,
show_on_balance: true,
subcategory_id: 'd7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a',
tag_ids: ['e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b'],
title: 'Supermercado Pão de Açúcar',
type: 'FIXED'
})
};
fetch('https://api.despezzas.com/v1/transactions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/transactions/{id}"
payload = {
"account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f",
"amount": 25990,
"category_id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"competence_date": None,
"contact_id": None,
"cost_center_id": None,
"credit_card_id": None,
"currency": "BRL",
"date": "2026-09-15",
"description": "Compra do mês",
"document_number": None,
"edition_date": None,
"edition_type": None,
"frequency": "MONTHLY",
"installments": 1,
"is_expense": True,
"is_full_amount": False,
"paid": True,
"show_on_balance": True,
"subcategory_id": "d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a",
"tag_ids": ["e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"],
"title": "Supermercado Pão de Açúcar",
"type": "FIXED"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/transactions/{id}"
payload := strings.NewReader("{\n \"account_id\": \"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f\",\n \"amount\": 25990,\n \"category_id\": \"b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d\",\n \"competence_date\": null,\n \"contact_id\": null,\n \"cost_center_id\": null,\n \"credit_card_id\": null,\n \"currency\": \"BRL\",\n \"date\": \"2026-09-15\",\n \"description\": \"Compra do mês\",\n \"document_number\": null,\n \"edition_date\": null,\n \"edition_type\": null,\n \"frequency\": \"MONTHLY\",\n \"installments\": 1,\n \"is_expense\": true,\n \"is_full_amount\": false,\n \"paid\": true,\n \"show_on_balance\": true,\n \"subcategory_id\": \"d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a\",\n \"tag_ids\": [\n \"e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b\"\n ],\n \"title\": \"Supermercado Pão de Açúcar\",\n \"type\": \"FIXED\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"amount": 25990,
"createdAt": "2026-09-01T09:00:00.000Z",
"date": "2026-09-15T00:00:00.000Z",
"id": "8f1c2a34-5b6d-4e7f-8a9b-0c1d2e3f4a5b",
"installments": 1,
"is_expense": true,
"paid": true,
"title": "Supermercado Pão de Açúcar",
"type": "FIXED",
"updatedAt": "2026-09-15T14:32:10.000Z",
"account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f",
"bill_id": null,
"billed_at": null,
"category_id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"competence_date": null,
"connected_transaction_id": null,
"contact_id": null,
"cost_center_id": null,
"credit_card_id": null,
"currency": "BRL",
"description": "Compra do mês",
"document_number": null,
"excluded_dates": [],
"frequency": "MONTHLY",
"installment_number": null,
"is_bill_payment": false,
"is_full_amount": false,
"is_previous_balance": false,
"is_remote": true,
"logo_url": null,
"merchant_cnae": null,
"merchant_cnpj": null,
"merchant_name": null,
"operation_type": null,
"paid_at": "2026-09-15T14:32:10.000Z",
"payment_dates": [],
"profile_id": null,
"reconciled_at": null,
"reconciled_by_user_id": null,
"reconciled_with_transaction_id": null,
"show_on_balance": true,
"subcategory_id": "d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a",
"user_id": "0d6b923c-3392-424e-a152-2ee32474e8d5"
}{
"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"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}{
"message": "Credenciais de API inválidas",
"statusCode": 401,
"error": "Unauthorized"
}Atualizar lançamento
Atualiza só os campos enviados. Em recorrências e parcelas, edition_type define o alcance (THIS, THIS_AND_NEXT, ALL).
Escopo necessário: write.
curl --request PUT \
--url https://api.despezzas.com/v1/transactions/{id} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f",
"amount": 25990,
"category_id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"competence_date": null,
"contact_id": null,
"cost_center_id": null,
"credit_card_id": null,
"currency": "BRL",
"date": "2026-09-15",
"description": "Compra do mês",
"document_number": null,
"edition_date": null,
"edition_type": null,
"frequency": "MONTHLY",
"installments": 1,
"is_expense": true,
"is_full_amount": false,
"paid": true,
"show_on_balance": true,
"subcategory_id": "d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a",
"tag_ids": [
"e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"
],
"title": "Supermercado Pão de Açúcar",
"type": "FIXED"
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
account_id: '3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f',
amount: 25990,
category_id: 'b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d',
competence_date: null,
contact_id: null,
cost_center_id: null,
credit_card_id: null,
currency: 'BRL',
date: '2026-09-15',
description: 'Compra do mês',
document_number: null,
edition_date: null,
edition_type: null,
frequency: 'MONTHLY',
installments: 1,
is_expense: true,
is_full_amount: false,
paid: true,
show_on_balance: true,
subcategory_id: 'd7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a',
tag_ids: ['e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b'],
title: 'Supermercado Pão de Açúcar',
type: 'FIXED'
})
};
fetch('https://api.despezzas.com/v1/transactions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/transactions/{id}"
payload = {
"account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f",
"amount": 25990,
"category_id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"competence_date": None,
"contact_id": None,
"cost_center_id": None,
"credit_card_id": None,
"currency": "BRL",
"date": "2026-09-15",
"description": "Compra do mês",
"document_number": None,
"edition_date": None,
"edition_type": None,
"frequency": "MONTHLY",
"installments": 1,
"is_expense": True,
"is_full_amount": False,
"paid": True,
"show_on_balance": True,
"subcategory_id": "d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a",
"tag_ids": ["e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"],
"title": "Supermercado Pão de Açúcar",
"type": "FIXED"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/transactions/{id}"
payload := strings.NewReader("{\n \"account_id\": \"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f\",\n \"amount\": 25990,\n \"category_id\": \"b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d\",\n \"competence_date\": null,\n \"contact_id\": null,\n \"cost_center_id\": null,\n \"credit_card_id\": null,\n \"currency\": \"BRL\",\n \"date\": \"2026-09-15\",\n \"description\": \"Compra do mês\",\n \"document_number\": null,\n \"edition_date\": null,\n \"edition_type\": null,\n \"frequency\": \"MONTHLY\",\n \"installments\": 1,\n \"is_expense\": true,\n \"is_full_amount\": false,\n \"paid\": true,\n \"show_on_balance\": true,\n \"subcategory_id\": \"d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a\",\n \"tag_ids\": [\n \"e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b\"\n ],\n \"title\": \"Supermercado Pão de Açúcar\",\n \"type\": \"FIXED\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"amount": 25990,
"createdAt": "2026-09-01T09:00:00.000Z",
"date": "2026-09-15T00:00:00.000Z",
"id": "8f1c2a34-5b6d-4e7f-8a9b-0c1d2e3f4a5b",
"installments": 1,
"is_expense": true,
"paid": true,
"title": "Supermercado Pão de Açúcar",
"type": "FIXED",
"updatedAt": "2026-09-15T14:32:10.000Z",
"account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f",
"bill_id": null,
"billed_at": null,
"category_id": "b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"competence_date": null,
"connected_transaction_id": null,
"contact_id": null,
"cost_center_id": null,
"credit_card_id": null,
"currency": "BRL",
"description": "Compra do mês",
"document_number": null,
"excluded_dates": [],
"frequency": "MONTHLY",
"installment_number": null,
"is_bill_payment": false,
"is_full_amount": false,
"is_previous_balance": false,
"is_remote": true,
"logo_url": null,
"merchant_cnae": null,
"merchant_cnpj": null,
"merchant_name": null,
"operation_type": null,
"paid_at": "2026-09-15T14:32:10.000Z",
"payment_dates": [],
"profile_id": null,
"reconciled_at": null,
"reconciled_by_user_id": null,
"reconciled_with_transaction_id": null,
"show_on_balance": true,
"subcategory_id": "d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a",
"user_id": "0d6b923c-3392-424e-a152-2ee32474e8d5"
}{
"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"
}{
"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.
Path Parameters
Identificador do recurso.
"8f1c2a34-5b6d-4e7f-8a9b-0c1d2e3f4a5b"
Body
Mesmos campos da criação, todos opcionais: só o que for enviado é alterado. Em séries, edition_type define o alcance.
Conta — obrigatório quando não há cartão.
"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
Valor (positivo). Em centavos.
25990
Categoria.
"b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
Competência (Business). null limpa.
null
Contato (Business). null limpa.
null
Centro de custo (Business). null limpa.
null
Cartão — obrigatório quando não há conta.
null
Moeda. Padrão: BRL.
"BRL"
Data (YYYY-MM-DD ou ISO 8601).
"2026-09-15"
Descrição.
"Compra do mês"
Número do documento (Business). null limpa.
null
Data de referência para edition_type (YYYY-MM-DD).
null
Alcance ao editar uma série (recorrência/parcelas). Padrão: THIS.
THIS, THIS_AND_NEXT, ALL, null null
Frequência de uma recorrência (type = RECURRENT). Padrão: MONTHLY.
DAILY, WEEKLY, BIWEEKLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUAL, YEARLY "MONTHLY"
Quantidade de parcelas (type = PARCELLED).
1
true = despesa, false = receita.
true
Se amount é o total a parcelar (senão é o valor de cada parcela).
false
Pago/recebido (lançamentos de conta). Padrão: false.
true
Se entra no saldo. Padrão: true.
true
Subcategoria.
"d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a"
Tags a aplicar (substitui as atuais).
["e2f3a4b5-c6d7-4e8f-9a0b-1c2d3e4f5a6b"]
Título.
"Supermercado Pão de Açúcar"
Tipo. Padrão: FIXED.
FIXED, RECURRENT, PARCELLED, TRANSFER "FIXED"
Response
Sucesso.
Valor, sempre positivo — o sinal vem de is_expense. Em centavos.
25990
Criação.
"2026-09-01T09:00:00.000Z"
Data do lançamento.
"2026-09-15T00:00:00.000Z"
Id do lançamento.
"8f1c2a34-5b6d-4e7f-8a9b-0c1d2e3f4a5b"
Quantidade de parcelas (1 quando à vista).
1
true = despesa, false = receita.
true
Pago/recebido.
true
Título.
"Supermercado Pão de Açúcar"
Tipo do lançamento.
FIXED, RECURRENT, PARCELLED, TRANSFER "FIXED"
Última alteração.
"2026-09-15T14:32:10.000Z"
Conta (lançamentos de conta).
"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
Fatura à qual pertence.
null
Data de faturamento (cartão).
null
Categoria.
"b1a2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d"
Competência (Business).
null
Liga as parcelas/recorrências de uma mesma série.
null
Contato (Business).
null
Centro de custo (Business).
null
Cartão (lançamentos de cartão — sempre pagos).
null
Moeda.
"BRL"
Descrição livre.
"Compra do mês"
Número do documento (Business).
null
Sempre vazio (campo legado).
[]
Frequência (só faz sentido em RECURRENT).
DAILY, WEEKLY, BIWEEKLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUAL, YEARLY "MONTHLY"
Número desta parcela.
null
Se é o pagamento de uma fatura.
false
Em parcelamentos, se amount foi informado como o total da compra.
false
Se é saldo anterior de fatura.
false
Sempre true (campo legado).
true
Logo do estabelecimento.
null
CNAE do estabelecimento (Open Finance).
null
CNPJ do estabelecimento (Open Finance).
null
Nome do estabelecimento (Open Finance).
null
Tipo de operação informado pelo banco (Open Finance).
null
Quando foi pago.
"2026-09-15T14:32:10.000Z"
Sempre vazio (campo legado).
[]
Perfil de Acesso / empresa (nulo no contexto pessoal).
null
Quando foi conciliado.
null
Quem conciliou.
null
Lançamento real com o qual este previsto foi conciliado.
null
Se entra no saldo.
true
Subcategoria.
"d7e8f9a0-b1c2-4d3e-8f4a-5b6c7d8e9f0a"
Dono do lançamento.
"0d6b923c-3392-424e-a152-2ee32474e8d5"