Docs

Confirm a statement import

POST /api/v1/programmatic/imports/{id}/confirm

POST/api/v1/programmatic/imports/{id}/confirm
Importsv1imports:create

Atomically queues a parsed statement preview for transaction creation.

Parameters

NameInType Description
idpathstringRequired <id>
Idempotency-KeyheaderstringRequired Unique 16–128 character retry key. <Idempotency-Key>

Request body

application/json
{
  "skip_duplicates": true
}

Code examples

curl --request POST \
  --url 'https://api.tetri.app/api/v1/programmatic/imports/<id>/confirm' \
  --header 'Authorization: Bearer $TETRI_API_TOKEN' \
  --header 'Idempotency-Key: <Idempotency-Key>' \
  --header 'Content-Type: application/json' \
  --data '{ "skip_duplicates": true }'

Responses

201Request completed successfully.
{
  "data": {
    "type": "import_jobs",
    "id": "<uuid>",
    "attributes": {
      "bank_key": "revolut",
      "bank_name": "Revolut",
      "file_name": "statement.csv",
      "file_type": "csv",
      "total_rows": 150,
      "imported_count": 148,
      "skipped_count": 1,
      "skipped_existing_count": 1,
      "error_count": 1,
      "status": "completed",
      "error_message": "<string>",
      "account_id": "<uuid>",
      "preview": [
        {}
      ],
      "opening_balance_adjusted": [
        {
          "account_id": "<uuid>",
          "account_name": "Main checking",
          "currency_code": "USD",
          "reason": "pre_opening_import_rows",
          "target_balance": "1000.00",
          "balance_as_of_date": "2026-07-12",
          "tetri_balance_before": "950.00",
          "tetri_balance_after": "1000.00",
          "delta": "50.00",
          "old_opening_balance": "100.00",
          "new_opening_balance": "150.00",
          "old_opening_balance_date": "2026-07-12",
          "new_opening_balance_date": "2026-07-12"
        }
      ],
      "reverted_at": "2026-07-12T12:00:00Z",
      "created_at": "2026-07-12T12:00:00Z",
      "updated_at": "2026-07-12T12:00:00Z"
    }
  }
}
400The request payload or parameters are invalid.
401The access token is missing, invalid, expired, or revoked.
403The token does not have the required scope or workspace access.
409The idempotency key conflicts with an earlier request.
429The credential has exceeded its request limit.