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 partyType to IndivACParty
  • This triggers automated KYC/AML checks — the response includes KYCstatus and AMLstatus

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.

ParameterValue
firstEntryaccountId
firstEntryTypeAccount
relatedEntrypartyId
relatedEntryTypeIndivACParty
linkTypeOwner
primary_valuetrue

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 to
  • isAttested = true
  • documentUrl — 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 custAccRequestID with initial status of Pending

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:

EventTrigger
Create-Custodial-AccountRequest created
approveCustodyAccountRequestStatus changed
updateCustodyAccountRequestStatus 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

StatusDescription
PendingInitial state
Need More InfoAdditional information required
ApprovedAccount is open and active
RejectedApplication denied

Processing Schedule

Account openings are processed daily at 8:00 AM MT, with statuses updated by 10:00 AM MT.