Upload a statement import
POST /api/v1/programmatic/imports
/api/v1/programmatic/importsUploads and parses a statement for an existing active asset account.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
Idempotency-Key | header | stringRequired | Unique 16–128 character retry key. <Idempotency-Key> |
Request body
multipart/form-data{
"account_id": "<uuid>",
"file": "<file>"
}Code examples
curl --request POST \
--url 'https://api.tetri.app/api/v1/programmatic/imports' \
--header 'Authorization: Bearer $TETRI_API_TOKEN' \
--header 'Idempotency-Key: <Idempotency-Key>' \
--form 'account_id=<uuid>' \
--form 'file=@statement.csv'Responses
{
"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"
}
}
}