Upsert transaction

Create a Transaction if none exists with the given Tracking ID, or update the existing one otherwise.

This is an idempotent operation: calling it twice with the same payload results in the same end state. Safe to retry on network failure, or to replay as part of a scheduled sync from your portfolio accounting system or fund administrator's monthly data.

Matching rule

The Transaction is matched by the trackingId you supply in the request body. trackingId is required — requests without a trackingId are rejected with a 400 Bad Request.

Response

The response always includes the full Transaction object plus a result field:

  • "result": "created" — no match was found, a new Transaction was created under the supplied investmentId.
  • "result": "updated" — an existing Transaction was found and its fields were updated.

Field semantics

FieldCreateUpdate
trackingIdRequired (match key).Required (match key).
nameRequired.Replace if present; omit = unchanged.
transactionTypeRequired.Replace if present; omit = unchanged.
investmentIdRequired.Ignored — Transactions are tied to their investment for life.
amount, fundFeeId, effectiveDate, createdDate, noteOptional.Replace if present; omit = unchanged.

Validation errors return 400 Bad Request with the offending field name.

Bulk upsert mode (caveat)

When using mode: "upsert" on the bulk POST /transactions/import endpoint, every per-row field is applied to the matched Transaction — there is no way to express "leave this field unchanged" within a single bulk row. Use the individual upsert endpoint above for partial updates.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The ID of the Firm object

Body Params
string

Anduin ID or Tracking ID of the parent investment. Required when creating a new transaction; ignored on update.

string
required

Customer-supplied Tracking ID used to match an existing Transaction.
If a Transaction with this Tracking ID already exists in the firm, it will be updated.
Otherwise, a new Transaction will be created with this Tracking ID. Required.

string

Required when creating a new Transaction. On update, omit to leave the name unchanged.

transactionType

Required when creating a new Transaction. On update, omit to leave unchanged; provide to replace the existing type.

string

The ID of Fund Fee object

number
date
date
string
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json