EIGENN.
docsguidesapichangelogpricingsign in
EIGENN.

Transactions API

List, create, categorize, update, attach, and remove eligible transactions through public API v1.

Transaction operations use the transactions.read scope or the transactions.write scope. Eigenn limits every operation to the authenticated team.

Endpoints

MethodEndpointScopePurpose
GET/transactionstransactions.readList and filter transactions
POST/transactionstransactions.writeCreate one transaction
GET/transactions/{id}transactions.readRetrieve one transaction
PATCH/transactions/{id}transactions.writeUpdate the fields that you send
DELETE/transactions/{id}transactions.writeDelete a manually created transaction
POST/transactions/bulktransactions.writeCreate up to 100 transactions
PATCH/transactions/bulktransactions.writeUpdate many transactions
DELETE/transactions/bulktransactions.writeDelete up to 100 manual transactions
POST/transactions/{transactionId}/attachments/{attachmentId}/presigned-urltransactions.readCreate a time-limited attachment URL

List Transactions

The GET /transactions operation accepts cursor pagination. It also accepts a pageSize from 1 to 10,000.

The filters include:

  • Text search
  • Date range
  • Category slugs
  • Tag IDs
  • Bank account IDs
  • Assignees
  • Statuses
  • Recurring frequencies
  • Attachment or manual state
  • Amount range or exact amounts
  • Income or expense type
  • needsReview
  • Sort tuple

The needsReview filter selects transactions that have a pending receipt-match suggestion. It also selects unfulfilled records that are not completed, excluded, or archived.

curl --request GET \
  --url "https://api.eigenn.io/v1/transactions?pageSize=100&needsReview=true" \
  --header "Authorization: Bearer $EIGENN_API_TOKEN"

Create a Transaction

The POST /transactions operation needs these fields:

  • name
  • amount
  • currency
  • date
  • bankAccountId
curl --request POST \
  --url https://api.eigenn.io/v1/transactions \
  --header "Authorization: Bearer $EIGENN_API_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Idempotency-Key: transaction-office-supplies-2026-07-11" \
  --data '{
    "name": "Office Supplies Purchase",
    "amount": 150.75,
    "currency": "USD",
    "date": "2026-07-11T12:00:00.000Z",
    "bankAccountId": "00000000-0000-0000-0000-000000000000",
    "categorySlug": "office-supplies",
    "internal": false
  }'

The optional fields include assignedId, categorySlug, note, internal, and attachment metadata. The attachment metadata applies to files that you uploaded before.

Update

The PATCH /transactions/{id} operation changes only the fields that you send. When no change is necessary, the operation can return the transaction unchanged.

Use updates to categorize, assign, annotate, or change the status of a transaction. Follow the documented request schema.

Delete and Exclude

You can delete only the transactions that you created manually.

Bank-synced transactions keep the history of the source system. You cannot delete them with the transaction delete operations. Change the synced record to an excluded state instead.

Bulk delete accepts a maximum of 100 transaction IDs. It applies the same manual-only rule.

Bulk Operations

Bulk create accepts a maximum of 100 transactions in one request. Bulk update applies the same fields to the team-owned transactions that you target.

Use one idempotency key for one complete bulk write. Do not reuse it for a different set of transaction IDs.

Attachments

Transaction responses can include attachment IDs, paths, filenames, sizes, and MIME types.

Use the presigned-URL operation for time-limited access to a specific attachment. Stored attachment paths are not public URLs. Do not treat them like public URLs.

Pagination

The list response contains:

  • data
  • meta.cursor
  • meta.hasNextPage
  • meta.hasPreviousPage

The response does not contain a total count. Keep the same filters and the same sort when you request the next cursor.

Common Errors

StatusCause
400Invalid fields, or a request to delete a synced transaction
401Missing or invalid bearer token
403Missing transactions.read or transactions.write
404Transaction or attachment not found in the team
409Current state or idempotency conflict
422Request structure is invalid
429Resource limit exceeded

Related Pages

  • Transactions
  • Pagination
  • Authentication
  • Errors

Tracker Projects API

Create, filter, update, categorize, and remove team-scoped time tracking projects through public API v1.

Webhooks API Status

Separate provider callback endpoints from the outbound subscription API that public v1 does not include now.

On this page

EndpointsList TransactionsCreate a TransactionUpdateDelete and ExcludeBulk OperationsAttachmentsPaginationCommon ErrorsRelated Pages

Eigenn docs

current product

Overview
Overview
OverviewAccount PreferencesAssistant AutomationAssistant Command CenterBank ConnectionsBilling and UsageBudgets and ForecastCommand CenterCustomer LifecycleCustomer RecordsCustomersDeveloper PlatformDocument Processing and ExtractionDocument VaultFinancial Analytics and ReportsFinancial OverviewInvoice InsightsInvoice ProductsInvoicesMarketplace IntegrationsNotifications and BrandingOnboarding and SupportOverviewReceivablesReceivables AnalyticsReceivables ControlsSecurity and AccessSettings OverviewStress TestsTeams and OrganizationsTone Profiles and ExperimentsTransaction Categories and RulesTransactionsWeekly Finance RitualWorkflow ExecutionsWorkflow PausesWorkflowsWorkspace Inbox and Approvals
OverviewBuild and Review a ForecastBuild Your First WorkflowConfigure Assistant OperationsConfigure Notifications and BrandingConfigure Receivables ControlsConnect Transaction RecordsCreate and Manage CustomersCreate and Send InvoicesDeveloper API SetupFirst Cash ReviewInvoice Collection WorkflowMaintain Transaction RulesManage Security and BillingManage Team AccessManage the Invoice LifecycleMCP WorkflowsMonitor and Recover WorkflowsOrganize and Share DocumentsProcess Inbox ItemsReconcile and Categorize TransactionsReview a Customer Finance RecordRun a Finance Operating ReviewRun a Receivables Tone ExperimentRun a Runway Stress TestRun Your First Command Center ReviewSet Up a WorkspaceTroubleshoot Account AccessWebhook DeliveryWeekly CFO Review
OverviewIntegrationsMCPSDKsWebhooks
OverviewAuthenticationBank Accounts APICustomers APIErrorsForecasts and Stress Tests APIInvoice Payments APIInvoices APIPaginationRate LimitsRemote Tracker API StatusTracker Categories APITracker Entries and Timers APITracker Projects APITransactions APIWebhooks API StatusWorkflows API Status
Overview
Overview