Custody Account Opening Workflow¶
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.