Skip to content

Deprecated Endpoints

Requests authenticate with the Authorization: Bearer {clientID}:{apiKey} header. The examples below read the host and credentials from $TAPI_HOST, $TAPI_CLIENT_ID and $TAPI_API_KEY — see Running the Examples.

Sandbox base URL: https://api-sandboxdash.norcapsecurities.com — the examples read it from $TAPI_HOST.

POST /v3/addCreditCard

Deprecated

This endpoint is deprecated and no longer links credit cards. All requests return status code 999.

Use POST /v3/linkCreditCard instead.

Example Response

{
  "statusCode": "999",
  "statusDesc": "This endpoint has been deprecated. Use linkCreditCard instead."
}

POST /v3/addCustodyAccountSupplement

Deprecated

This endpoint is deprecated and may be removed in a future version.

This method is used to request a custodial account. This is the first step to opening a custodial account through North Capital Private Securities. This is specifically for IRA accounts.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)
appointmentOfInvestmentManager string No 1 - I/We wish to appoint an investment manager. Complete Part 1A 2 - No appointment at this time
proxyVotingPreferences string No 1 - Receive all proxy materials 2 - Send all proxy marterials to an investment manager 3 - Do not send proxy material
otherServices string No Please provide the details of the other services required.
methodOfContributionOrFunding string No 1 - Transfer Direct movement of assets from an IRA into this IRA 2 - Regular Contribution Includes catch-up contributions. 3 - Roth Conversion A taxable movement from a Traditional or Simple IRA into this Roth IRA. By selecting this transaction, you irrevocably designate this contribution as a conversion. 4 - Rollover Distribution from an IRA or eligible employersponsored retirement plan that is being deposited into this IRA. By selecting this transaction, you irrevocably designate this contribution as a rollover. 5 - SEP Contribution Contribution made under a SEP plan. SEP contributions are reported for the year in which the contribution is made
methodOfContributionTaxYear string No If "methodOfContributionOrFunding is option 2 - this is required to complete "Contribution for Tax Year 'YYYY'.
internationalAccountNumber string No If the account is an international account, please include the account number here.
bankFirmName1 string No Name of the bank/firm where the assets are currently held.
bankCountry1 string No Country of the bank/firm where the assets are currently held.
bankAccountName1 string No Name on the account where the assets are currently held.
bankAccountNumber1 string No Account number of the account where the assets are currently held.
bankFirmName2 string No Name of the bank/firm where the assets are currently held.
bankCountry2 string No Country of the bank/firm where the assets are currently held.
bankAccountName2 string No Name on the account where the assets are currently held.
bankAccountNumber2 string No Account number of the account where the assets are currently held.
maritalStatus string No 1 - Not married. 2 - Married If you designate a primary beneficiary other than or in addition to your spouse, spousal consent may be required. Stored as sent and not validated.
mailingAddressLine1 string No Mailing Address Line 1
mailingAddressLine2 string No Mailing Address Line 2
mailingCity string No Mailing Address City
mailingState string No Mailing Address State
mailingZipCode string No Mailing Address Zip Code
mailingCountry string No Mailing Address Country

Example Request

curl -X POST "$TAPI_HOST/v3/addCustodyAccountSupplement" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=someaccountid \
  -d proxyVotingPreferences=proxyVotingPreferences \
  -d otherServices=otherServices \
  -d methodOfContributionOrFunding=type \
  -d "methodOfContributionTaxYear=some year" \
  -d internationalAccountNumber=internationalAccountNumber \
  -d bankFirmName1=bankFirmName1 \
  -d bankCountry1=bankCountry1 \
  -d bankAccountName1=bankAccountName1 \
  -d bankAccountNumber1=bankAccountNumber1 \
  -d bankFirmName2=bankFirmName \
  -d bankCountry2=bankCountry \
  -d bankAccountName2=bankAccountName \
  -d bankAccountNumber2=bankAccountNumber \
  -d maritalStatus=1 \
  -d "mailingAddressLine1=Mailing Address Line 1" \
  -d "mailingAddressLine2=Mailing Address Line 2" \
  -d "mailingCity=Mailing Address City" \
  -d "mailingState=Mailing Address State" \
  -d "mailingZipCode=Mailing Address Zip Code" \
  -d "mailingCountry=Mailing Address Country"

Response

Field Type Description
accountDetails object The stored custodial account supplement details

Example Response

{
  "statusCode": "101",
  "statusDesc": "Account added successfully.",
  "accountDetails": {
    "accountId": "A3110006",
    "appointmentOfInvestmentManager": "",
    "proxyVotingPreferences": "proxyVotingPreferences",
    "otherServices": "otherServices",
    "methodOfContributionOrFunding": "type",
    "methodOfContributionTaxYear": "some year",
    "internationalAccountNumber": "internationalAccountNumber",
    "bankFirmName1": "bankFirmName1",
    "bankCountry1": "bankCountry1",
    "bankAccountName1": "bankAccountName1",
    "bankAccountNumber1": "bankAccountNumber1",
    "bankFirmName2": "bankFirmName",
    "bankCountry2": "bankCountry",
    "bankAccountName2": "bankAccountName",
    "bankAccountNumber2": "bankAccountNumber",
    "maritalStatus": "1",
    "mailingAddressLine1": "Mailing Address Line 1",
    "mailingAddressLine2": "Mailing Address Line 2",
    "mailingCity": "Mailing Address City",
    "mailingState": "Mailing Address State",
    "mailingZipCode": "Mailing Address Zip Code",
    "mailingCountry": "Mailing Address Country"
  }
}

POST /v3/addCustodyPartySupplement

Deprecated

This endpoint is deprecated and may be removed in a future version. Use POST /v3/createCustodyPartySupplement instead. Both names run the same handler and behave identically.

This method is used to add additional fields that may be required in order to open a custodial account through North Capital Private Securities.

Parameters

Parameter Type Required Description
partyId string Yes Party ID that is generated by the API once a party is created (createParty)
relationship string No The party's relationship to the account owner. Put "owner" if this is the account owner.
salutation string No The party's title. Enum: Mr., Mrs., Ms., Dr. Deprecated aliases: 1 (Mr.), 2 (Mrs.), 3 (Ms.), 4 (Dr.). The field is not validated, so any other value is stored as sent.
countryOfCitizenship string No Party's country of citizenship.
authorizedSigner string No Is this party the authorized signer for the account? Enum (case-insensitive): Yes, No. Deprecated aliases: 1 (Yes), 2 (No). Any other value stores an empty string.
controlPerson string No Is this party a control person for the account? Enum (case-insensitive): Yes, No. Deprecated aliases: 1 (Yes), 2 (No). Any other value stores an empty string.
politicallyExposedPerson string No Is this person considered a politically exposed person? Enum (case-insensitive): Yes, No. Deprecated aliases: 1 (Yes), 2 (No). Any other value stores an empty string.
politicallyExposedPersonDetails string No If the person selects "Yes" that they are a politically exposed person, then this field is required. Please provide the details of the politically exposed person.
beneficiaryType string No The beneficiary type, if this party is a beneficiary for the account. Enum: Spouse, Non-Spouse, Trust/Entity. Deprecated aliases: 1 (Spouse), 2 (Non-Spouse), 3 (Trust/Entity). The field is not validated, so any other value is stored as sent.
beneficiaryPercentage string No If this party is a beneficiary for the account, please provide the percentage. Stored as sent and not validated.
mailingAddressLine1 string No Mailing Address Line 1
mailingAddressLine2 string No Mailing Address Line 2
mailingCity string No Mailing Address City
mailingState string No Mailing Address State
mailingZipCode string No Mailing Address Zip Code
mailingCountry string No Mailing Address Country
publicCompany string No Is this party associated with a public company? Enum (case-insensitive, stored lowercase): Yes, No. Deprecated aliases: 1 (Yes), 2 (No). Any other value stores an empty string.
companyTicker string No Company Ticker if the party is associated with a public company
associatedFirm string No If the party is associated with a broker dealer, please indicate the name of the Associated Firm
createdIpAddress string No IP address recorded against the record

Example Request

curl -X POST "$TAPI_HOST/v3/addCustodyPartySupplement" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d partyId=somepartyid \
  -d relationship=owner \
  -d salutation=Mr \
  -d countryOfCitizenship=citizenship \
  -d authorizedSigner=yes \
  -d controlPerson=yes \
  -d politicallyExposedPerson=yes \
  -d "politicallyExposedPersonDetails=some details" \
  -d beneficiaryType=Spouse \
  -d beneficiaryPercentage=100 \
  -d mailingAddressLine1=address1 \
  -d mailingAddressLine2=address2 \
  -d mailingCity=city \
  -d mailingState=state \
  -d mailingZipCode=54321 \
  -d mailingCountry=US \
  -d publicCompany=yes \
  -d companyTicker=test \
  -d associatedFirm=test

Response

Field Type Description
party details object The stored party details

The response is identical to POST /v3/createCustodyPartySupplement.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Party added successfully.",
  "party details": {
    "partyId": "P2726935",
    "relationship": "owner",
    "salutation": "Mr",
    "countryOfCitizenship": "citizenship",
    "authorizedSigner": "Yes",
    "controlPerson": "Yes",
    "politicallyExposedPerson": "Yes",
    "politicallyExposedPersonDetails": "some details",
    "beneficiaryType": "Spouse",
    "beneficiaryPercentage": "100",
    "mailingAddressLine1": "address1",
    "mailingAddressLine2": "address2",
    "mailingCity": "city",
    "mailingState": "state",
    "mailingZipCode": "54321",
    "mailingCountry": "US"
  }
}

POST /v3/getCreditCard

Deprecated

This endpoint is deprecated and no longer returns credit card information. All requests return status code 999.

Use POST /v3/getLinkedCreditCard instead.

Example Response

{
  "statusCode": "999",
  "statusDesc": "This endpoint has been deprecated. Use getLinkedCreditCard instead."
}

POST /v3/getTradeStatusesForOffering

Deprecated

This endpoint is deprecated and may be removed in a future version.

Use GET /v3/trades with an offeringId filter instead.

Returns every trade on one of your offerings, including canceled trades, oldest first. Every outcome, including the errors below, returns HTTP status 200; check statusCode. The equivalent list request is GET /v3/trades?deleted=true&filter={"offeringId": "8139", "tradeStatus": {"like": "CREATED"}}, where deleted=true includes canceled trades and the tradeStatus filter is optional.

Parameters

Parameter Type Required Description
offeringId string Yes Offering ID that is generated by the API when an offering is created (createOffering). The offering must belong to the calling client and be Pending or Approved.
tradeStatus string No Trade Status filter. Case-insensitive substring match: funded returns FUNDED trades, while SETTLED returns both SETTLED and UNWIND SETTLED trades.

Example Request

curl -X POST "$TAPI_HOST/v3/getTradeStatusesForOffering" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d offeringId=8139 \
  -d tradeStatus=CREATED

Response

Field Type Description
Offering purchased details array Trades on the offering: tradeId, accountId, transactionType, totalShares, unitPrice (the offering's unit price), totalAmount, tradeStatus, RRApprovalStatus, PrincipalApprovalStatus, field1, field2, field3, and esignStatus (latest subscription document status, or an empty string when none has been sent)
HTTP status statusCode statusDesc When
200 101 Ok At least one trade matched
200 404 No purchase made for this offer The offering has no trades, or none match tradeStatus
200 106 Data/parameter missing offeringId is missing or not numeric; Error(s) is offeringId :  Numeric values only
200 138 Offering ID does not exist. The offering does not exist, belongs to another client, or is not Pending or Approved
200 111 You are not authorized to use invoke/use this method The API key has no permission for this method; Method name is getTradeStatusesForOffering
200 110 Permission denied The API key lacks a field permission the method requires; Permission(s) required for mandatory field(s) lists them

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "Offering purchased details": [
    {
      "tradeId": "114431043",
      "accountId": "A49501",
      "transactionType": "WIRE",
      "totalShares": "800.000000",
      "unitPrice": "2.449500",
      "totalAmount": "1959.600000",
      "tradeStatus": "CREATED",
      "RRApprovalStatus": "Pending",
      "PrincipalApprovalStatus": "Pending",
      "field1": "",
      "field2": "",
      "field3": "",
      "esignStatus": ""
    }
  ]
}

POST /v3/recordAttestation

Deprecated

This endpoint is deprecated and may be removed in a future version.

This method records an attestation for an account. It is still callable, but new integrations should use POST /v3/createCustodyAgreementAttestation to record custody agreement attestations.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount). The account must belong to your client. Accounts removed with deleteAccount are still accepted, because deletion archives the account rather than deactivating it.
attest integer Yes Attestation value, stored as an integer (1 to attest). A JSON number 0 is treated as missing and returns 106; the string "0" is accepted and stored as 0. Non-numeric strings are stored as 0.
attestName string Yes Name of the person making the attestation.

Example Request

curl -X POST "$TAPI_HOST/v3/recordAttestation" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=A3110006 \
  -d attest=1 \
  -d "attestName=Jane Doe"

Response

Field Type Description
ORDER_DETAILS object The recorded attestation: Attest, Created date (UTC), Attest Name, and Account ID

Every outcome returns HTTP 200, so check statusCode. A successful call returns statusCode 101. A missing accountId, attest, or attestName returns statusCode 106 with statusDesc Data/parameter missing and an Error(s) field listing each missing parameter in order, for example <br />accountId : : Missing<br />attestName : : Missing. An account that does not exist or belongs to another client returns statusCode 148 with statusDesc Account is not exist/active.. Invalid credentials return statusCode 103 with statusDesc Invalid Developer Key/Client ID OR Developer Key not Active.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "ORDER_DETAILS": {
    "Attest": "1",
    "Created date": "2026-10-08 19:49:50",
    "Attest Name": "Jane Doe",
    "Account ID": "A3110006"
  }
}

POST /v3/requestCustodialAccount

Deprecated

This endpoint is deprecated and may be removed in a future version.

This is a deprecated function. Please use createCustodyAccountRequest instead.

POST /v3/updateCustodialAccountRequest

Deprecated

This endpoint is deprecated and may be removed in a future version.

This method has been deprecated. Please use updateCustodyAccountRequest (see Custodial Accounts) instead.