curl --request POST \
--url https://api.despezzas.com/v1/transactions/{id}/duplicate \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'POST', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/transactions/{id}/duplicate', 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}/duplicate"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/transactions/{id}/duplicate"
req, _ := http.NewRequest("POST", 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))
}{
"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"
}Duplicar lançamento
Cria uma cópia do lançamento já marcada como paga (mesma data, valor, conta/cartão e categoria; tags não são copiadas).
Escopo necessário: write.
curl --request POST \
--url https://api.despezzas.com/v1/transactions/{id}/duplicate \
--header 'Authorization: Basic <encoded-value>'const options = {method: 'POST', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://api.despezzas.com/v1/transactions/{id}/duplicate', 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}/duplicate"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.post(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.despezzas.com/v1/transactions/{id}/duplicate"
req, _ := http.NewRequest("POST", 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))
}{
"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"
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"