Custody Account Opening Workflow
This document describes the end-to-end API workflow for opening individual custody accounts.
Step 1: Create Party
POST /v3/createParty — Create an individual party record for the account owner.
Required fields: firstName, lastName, dob, socialSecurityNumber, emailAddress, primary address fields (primAddress1, primCity, primState, primZip)
- Set
partyTypetoIndivACParty - This triggers automated KYC/AML checks — the response includes
KYCstatusandAMLstatus
Docs: https://transactapi.readme.io/reference/createparty
Step 2: Create Account
POST /v3/createAccount — Create the investor account.
Required fields: accountName, type (e.g. individual), address1, city, state, zip, country, taxID
Docs: https://transactapi.readme.io/reference/createaccount
Step 3: Link Party to Account
PUT /v3/createLink — Establish the ownership relationship.
| Parameter | Value |
|---|---|
firstEntry | accountId |
firstEntryType | Account |
relatedEntry | partyId |
relatedEntryType | IndivACParty |
linkType | Owner |
primary_value | true |
Docs: https://transactapi.readme.io/reference/createlink
Step 4: Attest Custody Agreement (Required)
POST /v3/createCustodyAgreementAttestation — This is a hard requirement before submitting the custody account request.
accountId— the account to attach custody toisAttested=truedocumentUrl— must be a valid, accessible URL pointing to the custody agreement
This records that the account holder has reviewed and accepted the custody agreement terms.
Docs: https://transactapi.readme.io/reference/createcustodyagreementattestation
Optional: DocuSign eSignature
POST /v3/createCustodyAgreementEsign — Sends the custody agreement via DocuSign to the primary party's email for formal eSignature. This is supplementary to the attestation, not a replacement for it.
Step 5: Create Custody Account Request
POST /v3/createCustodyAccountRequest — Submits the account for review.
- Only requires
accountId - Pre-requisites: party linked to account, attestation on file
- Returns a
custAccRequestIDwith initial status ofPending
Docs: https://transactapi.readme.io/reference/createcustodyaccountrequest
Step 6: Monitor Status
Webhooks
Configure your webhook URL in your client settings. Notifications are sent on these events:
| Event | Trigger |
|---|---|
Create-Custodial-Account | Request created |
approveCustodyAccountRequest | Status changed |
updateCustodyAccountRequest | Status changed |
The webhook payload includes accountId, custAccRequestID, and custAccStatus.
Retrieve Status
Retrieve the current status of a custody account at any time: https://transactapi.readme.io/reference/custodyaccountsid
Status Values
| Status | Description |
|---|---|
Pending | Initial state |
Need More Info | Additional information required |
Approved | Account is open and active |
Rejected | Application denied |
Processing Schedule
Account openings are processed daily at 8:00 AM MT, with statuses updated by 10:00 AM MT.
Updated 3 days ago
