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¶
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¶
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¶
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.