Docs

Get a transaction

GET /api/v1/programmatic/transactions/{id}

GET/api/v1/programmatic/transactions/{id}
Transactionsv1transactions:read

Returns one posted transaction from the PAT workspace.

Parameters

NameInType Description
idpathstringRequired Transaction journal identifier. <id>

Code examples

curl --request GET \
  --url 'https://api.tetri.app/api/v1/programmatic/transactions/<id>' \
  --header 'Authorization: Bearer $TETRI_API_TOKEN'

Responses

200The requested posted transaction.
{
  "data": {
    "type": "transactions",
    "id": "<uuid>",
    "attributes": {
      "revision": "2026-07-12T12:00:00Z",
      "group_title": "<string>",
      "execution_status": "scheduled",
      "executed_at": "2026-07-12T12:00:00Z",
      "archived_at": "2026-07-12T12:00:00Z",
      "is_archived": false,
      "created_by": {},
      "transactions": [
        {
          "transaction_journal_id": "<uuid>",
          "type": "withdrawal",
          "date": "2026-07-12T12:00:00Z",
          "occurred_at": "2026-07-12T12:00:00Z",
          "business_date": "2026-07-12",
          "timezone": "Europe/Tbilisi",
          "description": "Grocery shopping",
          "amount": "42.50",
          "foreign_amount": "45.00",
          "foreign_currency_code": "EUR",
          "foreign_currency_symbol": "€",
          "currency_code": "USD",
          "currency_symbol": "$",
          "currency_decimal_places": 2,
          "source_id": "<uuid>",
          "source_name": "<string>",
          "source_type": "asset",
          "destination_id": "<uuid>",
          "destination_name": "<string>",
          "destination_type": "expense",
          "category_id": "<uuid>",
          "category_name": "<string>",
          "budget_id": "<uuid>",
          "budget_name": "<string>",
          "tags": [
            "<string>"
          ],
          "notes": "<string>",
          "last_reconciled_at": "2026-07-12",
          "reconciled": false,
          "status": "posted",
          "estimated_rate": "1.05",
          "pending_rate_quote": {},
          "final_rate": "1.058",
          "settled_at": "2026-07-12T12:00:00Z",
          "splits": [
            {
              "id": "<uuid>",
              "amount": "42.50",
              "category_id": "<uuid>",
              "note": "<string>",
              "tag_ids": [
                "<uuid>"
              ]
            }
          ],
          "has_splits": false,
          "remainder": "0.00"
        }
      ]
    }
  }
}
400Request parameters or payload failed validation. Inspect `code` and `message`.
{
  "statusCode": 400,
  "code": "PROGRAMMATIC_PAGINATION_MODE_CONFLICT",
  "message": "<string>",
  "error": "Bad Request",
  "request_id": "8cf64dcc-0f73-4f8d-a845-3d80c1040475"
}
401The personal access token is missing, invalid, expired, or revoked.
{
  "statusCode": 400,
  "code": "PROGRAMMATIC_PAGINATION_MODE_CONFLICT",
  "message": "<string>",
  "error": "Bad Request",
  "request_id": "8cf64dcc-0f73-4f8d-a845-3d80c1040475"
}
403The token lacks the required scope or no longer has workspace access.
{
  "statusCode": 400,
  "code": "PROGRAMMATIC_PAGINATION_MODE_CONFLICT",
  "message": "<string>",
  "error": "Bad Request",
  "request_id": "8cf64dcc-0f73-4f8d-a845-3d80c1040475"
}
404The resource does not exist in the token workspace or is not visible to this API.
{
  "statusCode": 400,
  "code": "PROGRAMMATIC_PAGINATION_MODE_CONFLICT",
  "message": "<string>",
  "error": "Bad Request",
  "request_id": "8cf64dcc-0f73-4f8d-a845-3d80c1040475"
}
429The credential exceeded its request rate limit.
{
  "statusCode": 400,
  "code": "PROGRAMMATIC_PAGINATION_MODE_CONFLICT",
  "message": "<string>",
  "error": "Bad Request",
  "request_id": "8cf64dcc-0f73-4f8d-a845-3d80c1040475"
}