---
title: "Edita uma transação"
method: PATCH
path: "/api/v1/transactions/{id}"
tags: ["Transações", "Escrita e desfazer"]
---

# Edita uma transação

`PATCH /api/v1/transactions/{id}`

## Request

- Base URL: `https://snabber.com.br`
- URL: `https://snabber.com.br/api/v1/transactions/{id}`
- Auth: HTTP bearer

Altera só os campos enviados. Executa na hora e devolve `undo_id`.

## Path parameters

- `id` integer, required

## Query parameters

- `workspace_id` integer

## Request body

- TransactionPatch
  - `date` string, date
  - `description` string
  - `amount` number
  - `category` string
  - `comment` string
  - `paid` boolean
  - `account` string

## Response `200`

Feito

- UpdateResult
  - `status` string
  - `undo_id` integer
  - `transaction` object

## Other responses

- `401`: Chave de API ausente, inválida, revogada ou expirada
- `403`: `INSUFFICIENT_SCOPE` (chave sem a permissão de escrita/exclusão), `WORKSPACE_READ_ONLY` (seu papel no workspace é somente leitura) ou `TRANSACTION_QUOTA_EXCEEDED` (cota mensal de transações)
- `404`: Transação não encontrada neste workspace
- `409`: Nada foi gravado: a ação precisa de confirmação. O corpo traz `preview` e `confirmation_token`; repita a mesma requisição com o header `X-Confirmation-Token` (vale 5 minutos, uma vez). Também usado para `INVALID_CONFIRMATION`, `STALE_CONFIRMATION` (os dados mudaram desde o preview) e conflitos como duplicata.
- `422`: Dados inválidos (`details.field` diz qual), conta inexistente no workspace (`details.available`), etc.
- `429`: Limite de requisições ou teto diário de escrita da chave (`DAILY_WRITE_LIMIT`)
- `503`: Escrita pela API temporariamente desativada (`WRITES_DISABLED`)

---

[API](https://skmtc.dev/snabber/apis/snabber-api.md) · [All operations](https://skmtc.dev/snabber/apis/snabber-api/llms.txt) · [OpenAPI document](https://skmtc.dev/snabber/apis/snabber-api/revisions/bf5841cbd8ce?raw)
