Subscription Transaction

Create a registered fund order, and the fields a fund order carries that an SPV subscription does not.

📘

Integrating through Apex AscendOS?

The product guidance on this page applies to you. The endpoints, fields and statuses are Monark's; use the AscendOS equivalents listed in Building on Apex AscendOS.

Registered fund orders use the same endpoint as private company subscriptions. This page covers what changes.

Monark endpoints used

MethodEndpointPurpose
POST/primary/v2/transactionCreate the order
GET/primary/v2/transaction/{id}Read it back
GET/primary/v2/transaction/investor/{investorId}An investor's orders
POST/primary/v2/transaction/{id}/rejectCancel, while still Pending

Subscribe

POST /primary/v2/transaction
{
  "targetAssetType": "RegisteredFund",
  "targetId": "{fundId}",
  "side": "Subscription",
  "investorId": "{investorId}",
  "amountReservedDollars": 50000,
  "shareClassId": "{shareClassId}",
  "distributionElection": "Cash",
  "referenceId": "your-own-order-reference"
}

Send an IdempotencyKey header. Expect 201.

Fields a fund order adds

FieldApplies toNotes
shareClassIdSubscriptionsThe share class being bought
distributionElectionSubscriptionsHow distributions are handled — cash or reinvested
taxLotElectionRedemptionsWhich lots to sell
isFullExitRedemptions and transfersRequired on both
transferDirectionTransfers onlyDefaults to Inbound. Must be null on every other side
documentIdPass-through transactionsAn executed document

Redeem

{
  "targetAssetType": "RegisteredFund",
  "targetId": "{fundId}",
  "side": "Redemption",
  "investorId": "{investorId}",
  "amountShares": 125.5,
  "isFullExit": false,
  "taxLotElection": "FIFO"
}

Rules the validator enforces:

  • isFullExit is required on a redemption.
  • amountShares is required unless isFullExit is true — a full exit does not need a quantity.
  • A full exit must not carry amountReservedDollars.
  • amountShares must be greater than zero, at most 6 decimal places, and no more than 999999999.999999.

Transfer

Transfers are registered funds only:

"side": "Transfer"
  • isFullExit is required.
  • amountShares is required unless the exit is full.
  • A transfer must not carry amountReservedDollars.
  • transferDirection may be set here and only here. Omitted, it defaults to Inbound.

Attempting a transfer against an SPV is refused with "Side Transfer is only supported for RegisteredFund target asset type."

Drawdown funds

Commitment and CapitalCall apply to drawdown funds:

  • Both require targetAssetType: "RegisteredFund".
  • Both require amountReservedDollars, no greater than 99999999999999.99.
  • Both refuse amountShares, isFullExit, taxLotElection and distributionElection.
  • A CapitalCall does not reference a prior commitment — it is an independent transaction.

Rules shared with SPVs

  • Exactly one of investorId or accountId. Sending both, or neither, is refused.
  • externalAccountNumber is valid only alongside investorId.
  • Exactly one of amountShares or amountReservedDollars, except for transfers and full-exit redemptions, which take neither dollars.
  • amountReservedDollars at most 2 decimal places; referenceId at most 100 characters.
  • Enumerations are case-sensitive. Subscription, not SUBSCRIPTION.

After creation

The order follows the transaction lifecycle, and all eight statuses are reachable — including Initiated and PendingCancellation, which an SPV subscription never reaches.

Status changes arrive by webhook as RegisteredFundTransactionStatus.

Next steps


Did this page help you?