curl --request POST \
--url https://api.despezzas.com/v1/transactions/create-transfer \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 50000,
"date": "2026-09-15",
"paid": true,
"received_account_id": "6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c",
"sent_account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 50000,
date: '2026-09-15',
paid: true,
received_account_id: '6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c',
sent_account_id: '3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f'
})
};
fetch('https://api.despezzas.com/v1/transactions/create-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/transactions/create-transfer"
payload = {
"amount": 50000,
"date": "2026-09-15",
"paid": True,
"received_account_id": "6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c",
"sent_account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(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/create-transfer"
payload := strings.NewReader("{\n \"amount\": 50000,\n \"date\": \"2026-09-15\",\n \"paid\": true,\n \"received_account_id\": \"6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c\",\n \"sent_account_id\": \"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f\"\n}")
req, _ := http.NewRequest("POST", 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"
}Criar transferência entre contas
Cria o par de lançamentos (saída na conta de origem e entrada na de destino). Devolve o lançamento de saída.
Escopo necessário: write.
curl --request POST \
--url https://api.despezzas.com/v1/transactions/create-transfer \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 50000,
"date": "2026-09-15",
"paid": true,
"received_account_id": "6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c",
"sent_account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 50000,
date: '2026-09-15',
paid: true,
received_account_id: '6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c',
sent_account_id: '3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f'
})
};
fetch('https://api.despezzas.com/v1/transactions/create-transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.despezzas.com/v1/transactions/create-transfer"
payload = {
"amount": 50000,
"date": "2026-09-15",
"paid": True,
"received_account_id": "6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c",
"sent_account_id": "3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(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/create-transfer"
payload := strings.NewReader("{\n \"amount\": 50000,\n \"date\": \"2026-09-15\",\n \"paid\": true,\n \"received_account_id\": \"6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c\",\n \"sent_account_id\": \"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f\"\n}")
req, _ := http.NewRequest("POST", 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.
Body
Valor. Em centavos.
50000
Data (YYYY-MM-DD).
"2026-09-15"
Se a transferência já foi efetivada.
true
Conta de destino.
"6e5d4c3b-2a19-4f8e-9d7c-6b5a4f3e2d1c"
Conta de origem.
"3a9e7d21-4b5c-4d6e-8f70-1a2b3c4d5e6f"
Descrição.
null
Título. Padrão: "Transferência".
"Transferência para a poupança"
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"