Skip to content

Error Codes

Every TransactAPI response body carries a statusCode and a statusDesc. 101 means the request succeeded. Any other code means it did not, and statusDesc gives the reason. Some errors also return an Error(s) field that lists the failing parameters.

An HTTP status of 4xx or 5xx means the request failed, and it generally describes the kind of error. How much more it tells you depends on the endpoint style (see Endpoint Styles):

  • Resource-style endpoints apply HTTP status codes consistently: 400 malformed request, 401 invalid credentials, 403 missing permission, 404 resource not found, 422 invalid request, 500 server error.
  • Method-style endpoints return most errors as 404 whatever the cause, so read statusCode for the specific reason. On these endpoints a 200 response does not prove success. Confirm that statusCode is 101.

Some code numbers are shared by several related errors. The Notes column says which endpoints return each meaning. Where statusDesc carries detail from a downstream provider, the text varies by request.

A server-side timeout is returned as a bare HTTP 504 with no statusCode envelope at all — it comes from infrastructure in front of the API giving up on the connection, not from the API itself. See Timeouts, Retries and Idempotency for how to recover from one.

Code Description Notes
101 Success
103 Invalid client ID or developer API key, or the developer key is not active
106 Required data or parameter missing Error(s) lists the missing or invalid parameters.
110 Permission denied
111 Not authorized to call this method Also returned when the request comes from an IP address that is not on the client's allowlist.
114 This issuer already has a financial account createIssuerAccount, createExternalAccount
116 This account already has an external financial account createExternalAccount
117 The purchase was not successful Subscription document endpoints (sendSubscriptionDocument, sendSubscriptionDocumentClient, resendSubscriptionDocuments)
119 Error closing the offering closeOffering
120 Error canceling or deleting the offering cancelOffering, deleteOffering
133 Issuer ID is not valid createOffering
135 Account, party, or primary party does not exist or is not active statusDesc names which record: the account, the party (ccFundMove, ccFundMovement), or the account's primary party (createTrade, externalFundMove, getExternalFundMoveInfo, custody fund moves, subscription document endpoints).
136 Issuer account does not exist
137 Escrow account does not exist or is not active createTrade
138 Offering ID does not exist closeOffering also returns 138 when the offering is already closed.
140 Invalid file name or file extension Document upload endpoints
141 Document ID or URL does not exist Offering document endpoints
142 Investor financial account does not exist, or no investment exists for this account and offering Financial account: createTrade. No investment: subscription document endpoints.
145 KYC/AML verification did not pass updateKycAml. The verification result is in idologyResponse.
146 Suitability does not exist or is not active
147 Issuer external account does not exist, or the nickname does not match getExternalAccount
148 Account does not exist or is not active Custody party supplement endpoints use 148 for a party that does not exist. Custody fund move and fund disbursement endpoints use it when the account has no custodial account or no external account.
149 Investor external account does not exist, or the nickname does not match externalFundMove, getExternalAccount, getExternalFundMove, getExternalFundMoveInfo
150 A request is already in process External fund move already in process for this trade: externalFundMove. Verification request already raised for this account: requestAiVerification.
151 Suitability already exists calculateSuitability
152 Request ID does not exist getAiRequest, updateAiRequest
153 Invalid related entry type createTrade, ccFundMove, ccFundMovement
162 Offering ID and client ID do not match getOffering, getOfferingStatus, getOfferingPurchaseHistory
163 The offering does not have enough shares createTrade, editTrade, editTradeUnits
179 External fund move record does not exist getExternalFundMove, getExternalFundMoveInfo
182 Financial account does not exist or is not active deleteIssuerAccount
183 ACH transfer error externalFundMove, getExternalFundMove, getExternalFundMoveInfo. statusDesc carries the payment processor's message.
186 All trades must be in FUNDED status closeOffering
188 Trade account does not exist
189 Trade ID does not exist fundReturnRequest also returns 189 when a return was already requested. ccFundMove and ccFundMovement also return it when the trade is CANCELED or its transaction type is not CREDITCARD.
190 Trade status must be CREATED deleteTrade, editTrade, editTradeUnits, updateTradeTransactionType
191 The trade cannot be updated because a fund move has been created for it editTradeUnits
194 The trade is not an ACH trade externalFundMove
198 Party does not exist requestKycAml also returns 198 when a request is already in progress. deleteParty also returns it when the party was already deleted or archived.
200 OK Custody account and party supplement endpoints return 200 for success and for some errors. If the response includes Error(s), the request did not succeed.
207 Account routing number is not valid externalFundMove, custody fund moves
210 An ACH request was already sent for this trade externalFundMove
211 Payment provider does not exist externalFundMove
212 No ACH record found getAchPendingId, getExternalFundMove, getExternalFundMoveHistory, getExternalFundMoveInfo, requestForVoidACH
214 DocuSign error Document signing endpoints. statusDesc carries the detail, such as no signed or unsigned subscription document found for the trade.
215 Invalid routing number
216 DocuSign account ID is missing sendNda
220 Verification request not raised for this account getAiLetter
221 The verification request for this account has not been reviewed getAiLetter
222 The verification request for this account was not approved getAiLetter
224 The ACH transfer can no longer be voided requestForVoidACH. The transfer is not pending, or it has already been submitted.
225 No ACH details found getExternalFundMoveHistory
226 No document found for this party
227 A custodial account request was already raised for this account createCustodyAccountRequest, requestCustodialAccount
228 Custodial account request ID is invalid
231 No document found for this account getAccountDocument, deleteAccountDocument
232 Error deleting the document
233 No accreditation verification document found for this account getAiDocument
234 ACH amount exceeds the maximum allowed for a single transaction externalFundMove, custody fund moves
239 Request parameter out of accepted range List endpoints, when limit or offset is out of range.
400 Invalid order data cancelOrder
404 Record not found statusDesc names the record, for example on search endpoints that find no match.
423 The order cannot be canceled while matching is in progress for this security cancelOrder. Retry after a few moments.
500 Server error
705 Invalid transaction type (ACH, WIRE, CHECK, TBD, or IRA) updateTradeTransactionType
707 Request ID does not exist requestUploadPartyDocument
708 Party request ID does not exist requestUploadPartyDocument
709 Document does not exist Accreditation letter: getAiLetter. Entity document: getEntityDocument.
710 Credit card already linked, or no credit card for this account Already linked: linkCreditCard. No credit card: updateLinkedCreditCard.
712 Credit card transaction is not in pending status requestForVoidCCTransaction
713 No credit card transaction record found requestForVoidCCTransaction
715 No credit card linked, or the account already has a linked external account No credit card: ccFundMove, ccFundMovement, getLinkedCreditCard, deleteCreditCard. Already linked: linkExternalAccount.
716 No credit card fund move record found, or the Plaid account is already linked to this account No record: getCCFundMoveHistory, getCCFundMoveInfo. Already linked: linkExternalAccount.
718 Account name does not exist linkExternalAccount, updateLinkExternalAccount
719 No document found for this trade getTradeDocument
720 Credit card or external account request not allowed Not authorized for credit card methods, or amount above the client's credit card limit: ccFundMove, ccFundMovement and other credit card endpoints. External account does not exist: updateLinkExternalAccount.
721 ACH amount exceeds the maximum allowed for this trade externalFundMove
727 A credit card payment request for this trade was already submitted ccFundMove, ccFundMovement
732 Invalid amount format externalFundMove, custody fund moves
734 Security ID does not exist getClob and getOrderBook also return 734 when there are no orders.
735 Member ID does not exist createOrder, notifySettlement
736 Order or matched trade does not exist Order: getOrder, cancelOrder. Also returned when the order exists but you do not have permission to view it. Matched trade: getMatchedTrade.
737 Order status must be Pending, Live, or Partially Executed cancelOrder
738 Special characters not allowed updateTradeStatus. statusDesc names the field.
739 Account notes do not exist getAccountNotes
740 Issuer ID does not exist, or the trade is not in FUNDED or UNWIND PENDING status Issuer: getIssuerApprovedSecurities, notifySettlement. Trade status: fundReturnRequest.
741 Approved security does not exist getIssuerApprovedSecurities
742 Invalid or missing issuer ID getSecurityInformation also returns 742 when the security is not approved.
743 ATS endpoints are not enabled for this client ATS / PPEX endpoints
745 Trade ID does not exist getSettlementStatus, notifySettlement
747 Security market hours error createSecurityMarketHours, updateSecurityMarketHours, getSecurityMarketHours, deleteSecurityMarketHours. Market hours already exist or do not exist, or a day's hours fall outside the global market hours.
749 Trade does not exist cancelInvestment
750 Trade document does not exist deleteTradeDocument
751 Error deleting the trade document deleteTradeDocument
752 Custodial account amount exceeds the 24-hour limit Custody fund moves
753 Custody fund move rate limit exceeded Custody fund moves
755 Trade notes do not exist getTradeNote, updateTradeNote, deleteTradeNote
769 Credit card payments are not configured for this API account Credit card endpoints. Contact support to enable them.
770 The trade cannot be deleted while a payment is submitted or pending deleteTrade
773 This account is blocked for ACH transactions externalFundMove
774 This account is blocked for credit card transactions ccFundMove, ccFundMovement
775 This Social Security Number is flagged and cannot be used to create a party createParty, updateParty
776 This email address is flagged and cannot be used to create a party createParty, updateParty
777 The escrow account for this offering is closed createTrade
789 This ACH routing and account number is flagged createExternalAccount, updateExternalAccount
999 This endpoint is deprecated addCreditCard, getCreditCard, updateCreditCard. statusDesc names the replacement.
1400 Bad request Resource-style endpoints, plus createLink, custody fund moves, getCustodyCashTransactions (when accountId is missing), and uploadPartyDocument. statusDesc gives the detail.
1403 Forbidden Resource-style endpoints and updateCustodyFundMove. statusDesc gives the detail.
1404 Resource not found Resource-style endpoints and custody endpoints. statusDesc gives the detail.
1422 Invalid request semantics Resource-style endpoints, plus createLink, custody endpoints, and uploadPartyDocument. statusDesc gives the detail.