Skip to content

Custodial Accounts

All requests require clientID and developerAPIKey parameters for authentication.

Base URL: https://api-sandboxdash.norcapsecurities.com

Endpoints


POST /v3/createCustodyAccountRequest

This method is used to request a custodial account. This is the first step to opening a custodial account through North Capital Private Securities. The Custody Agreement Attestation (createCustodyAgreementAttestation) must be affirmatively recorded before the request can be made.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createCustodyAccountRequest
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d accountId=A12345

Response

Field Type Description
custodialAccountDetails string An array of custodial account includes all information of the custodial account
Field Type Description
accountId string Account ID generated by the API with createAccount
custAccStatus string Request status: Pending, Approved, Rejected, More Info Added
accountStatus string Status of the custody account: Pending, Open, Closed
custAccRequestID string Custodial Account Request Id
createdDate string Date and timestamp of the request

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodialAccountDetails": [
    {
      "accountId": "A98780788",
      "custAccStatus": "Pending",
      "accountStatus": "Pending",
      "custAccRequestID": "yNHHDX2",
      "createdDate": "2024-11-22 16:22:10",
      "approvalStatus": "Pending"
    }
  ]
}

POST /v3/createCustodyAccountSupplement

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.
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 conditional No 1 - Not married. 2 - Married If you designate a primary benefiicary other than or in addition to your spouse, spousal consent may be required.
mailingAddressLine1 string Yes Mailing Address Line 1
mailingAddressLine2 string No Mailing Address Line 2
mailingCity string Yes Mailing Address City
mailingState string Yes Mailing Address State
mailingZipCode string Yes Mailing Address Zip Code
mailingCountry string Yes Mailing Address Country

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createCustodyAccountSupplement
-d clientID=someclientid
-d developerAPIKey=someclientid
-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 bankAccount Number1=bankAccount Number1
-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 string An array of custodial account includes all information of the custodial account
Field Type Description
accountId string Account ID that is generated by the API once an account is created (createAccount)
appointmentOfInvestmentManager string 1 or 2
proxyVotingPreferences string 1, 2, or 3
otherServices string Details of the other services required.
methodOfContributionOrFunding string 1, 2, 3, 4, or 5,
methodOfContributionTaxYear string YYYY
internationalAccountNumber string International account number
bankFirmName1 string Name of the bank/firm where the assets are currently held.
bankCountry1 string Country of the bank/firm where the assets are currently held.
bankAccountName1 string Account name of the account where the assets are currently held.
bankAccountNumber1 string Account number of the account where the assets are currently held.
bankFirmName2 string Country of the bank/firm where the assets are currently held.
bankCountry2 string Country of the bank/firm where the assets are currently held.
bankAccountName2 string Name of the bank/firm where the assets are currently held.
bankAccountNumber2 string Account number of the account where the assets are currently held.
maritalStatus conditional 1 - Not married. 2 - Married
mailingAddressLine1 string Mailing address
mailingAddressLine2 string Mailing address
mailingCity string Mailing city
mailingState string Mailing state
mailingZipCode string Mailing zip code
mailingCountry string Mailing country

Example Response

{
  "statusCode": "101",
  "statusDesc": "Account added successfully.",
  "accountDetails": {
    "accountId": "A3091454",
    "appointmentOfInvestmentManager": "2",
    "proxyVotingPreferences": "2",
    "otherServices": "",
    "methodOfContributionOrFunding": "4",
    "methodOfContributionTaxYear": "",
    "internationalAccountNumber": "",
    "bankFirmName1": "Bank of America",
    "bankCountry1": "US",
    "bankAccountName1": "",
    "bankAccountNumber1": "123456789",
    "bankFirmName2": "",
    "bankCountry2": "",
    "bankAccountName2": "",
    "bankAccountNumber2": "",
    "maritalStatus": "1",
    "mailingAddressLine1": "",
    "mailingAddressLine2": "",
    "mailingCity": "",
    "mailingState": "",
    "mailingZipCode": "",
    "mailingCountry": ""
  }
}

POST /v3/createCustodyAgreementAttestation

This method is used to record when a party attests to North Capital account terms and conditions.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount).
isAttested boolean Yes true (accepted)
documentUrl string Yes URL for attestation document

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createCustodyAgreementAttestation
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d accountId=A2624258
-d isAttested=true
-d documentUrl=https://example.com

Response

Field Type Description
attestation string attestation details
Field Type Description
accountId string Account ID that has attested
isAttested boolean 1 = true, the party has attested
documentUrl string URL for attestation
createdDate string Date and timestamp of the attestation

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "attestation": {
    "accountId": "A98780730",
    "isAttested": "1",
    "documentUrl": "https://example.com",
    "createdDate": "2024-11-26 17:05:16"
  }
}

POST /v3/createCustodyFundDisbursement

Parameters

Parameter Type Required Description
accountId string Yes Account ID generated from createAccount
amount string Yes Amount of funds to be transferred
type string Yes Type options: ACH, wire_domestic, wire_international
bankId string No Required for wire transfers only. See details below.
bankAccountId string No Required for wire transfers only. See details below.
additionalDetails string No Open text field to provide any additional instructions that are required to successfully send the wire transfer

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createCustodyFundDisbursement
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d accoundId=someaccountid
-d amount=22.23
-d type=wire_domestic
-d bankId=122100024
-d bankAccountId=123456789

Response

Field Type Description
custodyFundDisbursement object See below
Field Type Description

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyFundDisbursement": {
    "requestId": "a49a68b7-f0ab-45b5-ac07-6ed555259d27",
    "accountId": "A3110006",
    "amount": "1.20",
    "type": "wire_domestic",
    "bankId": "122100024",
    "bankAccountId": "123456789",
    "additionalDetails": "",
    "status": "pending",
    "createdDate": "2024-12-10 23:29:13",
    "updatedDate": "2024-12-10 23:29:13"
  }
}

POST /v3/createCustodyFundMove

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)
amount string Yes The amount to be debited from the external account. The amount is limited based on client risk assessment and is capped at $100,000.00
description string No Description of the fund move

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createCustodyFundMove
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=985742
-d amount=10000.50
-d description=Example Transaction
-d createdIpAddress=10.0.0.9

Response

Field Type Description
custodyTransaction string Returns the fund move details as an array
Field Type Description

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyTransaction": {
    "accountId": "A3110006",
    "bankName": null,
    "amount": "7.000000",
    "accountNumber": "",
    "routingNumber": "011001726",
    "accountName": "",
    "referenceNumber": "339846456",
    "description": "",
    "approvalStatus": "approved",
    "status": "Pending",
    "routingNumberStatus": "Verified",
    "errors": "",
    "createdDate": "2024-12-10 22:49:06",
    "updatedDate": "2024-12-10 22:49:06"
  }
}

POST /v3/createCustodyPartySupplement

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 an party is created (createParty)
relationship string No The party's relationship to the account owner. Put "owner" if this is the account owner.
salutation conditional No 1 - Mr. 2 - Mrs. 3 - Ms. 4 - Dr.
countryOfCitizenship string No Party's country of citizenship.
authorizedSigner conditional No Is this party the authorized signer for the account? 1 - Yes 2 - No
controlPerson conditional No Is this party a control person for the account? 1 - Yes 2 - No
politicallyExposedPerson conditional No Is this person considered a politically exposed person? 1 - Yes 2 - No
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 conditional No If this party is a beneficiary for the account, please provide if they are a 1 - Spouse 2 - Non-Spouse 3 - Trust/Entity beneficiary type
beneficiaryPercentage integer No If this party is a beneficiary for the account, please provide the percentage.
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? 1 - Yes 2 - No
companyTicker string No Company Ticker if public company association is "1 - Yes"
associatedFirm string No If the party is associated with a broker dealer, please indicate the name of the Associated Firm

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createCustodyPartySupplement
-d clientID=someclientid
-d developerAPIKey=somedeveloperKey
-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=some details
-d mailingAddressLine1=address1
-d mailingAddressLine2=address2
-d mailingCity=city
-d mailingState=state
-d mailingZipCode=54321
-d mailingCountry=US
-d publicCompany=yes
-d mailingCountry=test
-d associatedFirm=test

Response

Field Type Description
partyDetails string An array of party details
Field Type Description
partyId string Party ID that is generated by the API once an party is created (createParty)
relationship string OWNER
salutation conditional MR, MRS, MS, or DR
countryOfCitizenship string Party's country of citizenship.
authorizedSigner conditional YES or NO
controlPerson conditional YES or NO
politicallyExposedPerson conditional YES or NO
politicallyExposedPersonDetails string Details of the politically exposed person
beneficiaryType conditional SPOUSE, NON-SPOUSE, or TRUST/ENTITY
beneficiaryPercentage integer Percentage 1-100
mailingAddressLine1 string Mailing Address Line
mailingAddressLine2 string Mailing Address Line
mailingCity string Mailing Address City
mailingState string Mailing Address State
mailingZipCode string Mailing Address Zip
mailingCountry string Mailing Address Country

Example Response

{
  "statusCode": "101",
  "statusDesc": "Party added successfully.",
  "party details": {
    "partyId": "P2726935",
    "relationship": "some relationship",
    "salutation": "some salutation",
    "countryOfCitizenship": "usa",
    "authorizedSigner": "",
    "controlPerson": "",
    "politicallyExposedPerson": "No",
    "politicallyExposedPersonDetails": "",
    "beneficiaryType": "some beneficiary",
    "beneficiaryPercentage": "100%",
    "mailingAddressLine1": "123 Testing Way",
    "mailingAddressLine2": "",
    "mailingCity": "Orem",
    "mailingState": "UT",
    "mailingZipCode": "84097",
    "mailingCountry": "usa"
  }
}

GET /v3/custody/accounts/{id}/positions

Fetch the positions for a given custody account

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "positions": [
    {
      "id": "02587DM96",
      "date": "2019-03-20",
      "units": "27"
    },
    {
      "id": "40434YGR2",
      "date": "2019-03-21",
      "units": "1"
    },
    {
      "id": "38148JA92",
      "date": "2019-03-22",
      "units": "1"
    },
    {
      "id": "DELL12",
      "date": "2019-03-20",
      "units": "10"
    }
  ]
}

GET /v3/custody/accounts/{id}/transactions

Fetch a list of transactions associated with the specified custody account.


GET /v3/custody/accounts

This endpoint retrieves a list of custody accounts. It supports pagination, filtering, and sorting capabilities.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custody_accounts": [
    {
      "accountId": "A00000003",
      "requestId": "1BIBe0V",
      "status": "Approved",
      "relationship": null,
      "restrictedStatus": "No",
      "restrictedReason": null,
      "principalReviewBy": "",
      "approvalDate": "2025-02-12 17:11:18",
      "notes": "",
      "createdDate": "2025-02-12 17:11:17",
      "updatedDate": "2025-02-12 17:11:18"
    }
  ],
  "pagination": {
    "totalRecords": 1001,
    "startIndex": 0,
    "endIndex": 0
  }
}

POST /v3/custody/accounts/{id}

This endpoint retrieves a single custody account.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custody_account": {
    "accountId": "A00000003",
    "requestId": "1BIBe0V",
    "status": "Approved",
    "relationship": null,
    "restrictedStatus": "No",
    "restrictedReason": null,
    "principalReviewBy": "",
    "approvalDate": "2025-02-12 17:11:18",
    "notes": "",
    "createdDate": "2025-02-12 17:11:17",
    "updatedDate": "2025-02-12 17:11:18"
  }
}

GET /v3/custody/positions

Fetch the positions for all securities held by issuer accounts

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "positions": [
    {
      "id": "02587DM96",
      "date": "2019-03-20",
      "units": "27"
    },
    {
      "id": "40434YGR2",
      "date": "2019-03-21",
      "units": "1"
    },
    {
      "id": "38148JA92",
      "date": "2019-03-22",
      "units": "1"
    },
    {
      "id": "DELL12",
      "date": "2019-03-20",
      "units": "10"
    }
  ]
}

GET /v3/custody/distributions

This endpoint retrieves a list of custody distributions. It supports pagination, filtering, and sorting capabilities.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custody_distributions": [
    {
      "id": "uuid",
      "submissionId": "uuid",
      "brokerageAccountId": "string",
      "amountCents": "integer",
      "status": "string",
      "accountId": "string",
      "bankId": "string",
      "bankAccountId": "string",
      "transactionType": "string",
      "transactionMemo": "string",
      "createdAt": "datetime",
      "updatedAt": "datetime"
    }
  ]
  "pagination": {
    "totalRecords": 100,
    "startIndex": 0,
    "endIndex": 0
  }
}

POST /v3/getCustodyAccountRequest

This method is used to get the status of a custodial account request.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodyAccountRequest
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d accountId=A12716

Response

Field Type Description
custodialAccountDetails string An array of custodial account includes all information of the custodial account
Field Type Description

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodialAccountDetails": [
    {
      "accountId": "A3177046",
      "custAccStatus": "Pending",
      "accountStatus": "Pending",
      "custAccRequestID": "ROE6ovs",
      "restrictedStatus": "No",
      "reasonForStatus": null,
      "createdDate": "2025-01-03 21:07:24",
      "approvalStatus": "Approved"
    }
  ]
}

POST /v3/getCustodialDocuments

This method is used to get the statements and tax forms for a North Capital Private Securities custodial account.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodialDocuments
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=accountId

Response

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": [
    {
      "Document Type": "PDF",
      "Month": "4",
      "Year": "2023",
      "StatementURL": "url"
    }
  ]
}

POST /v3/getCustodyBalances

This method is used to get the Cash, Securities, and Total account values of a custody account.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodyBalances
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=accountId

Response

Field Type Description
custodyBalances object Custody account balances and intents
Field Type Description
accountID string Account the request is being made against
fundMoveIntents number The total amount of intended deposits (fund movements into the account), in decimal dollars. Deposits that have been registered with the payment processor but have not been submitted to the bank for processing.
disbursementIntents number The total amount of intended withdrawals (disbursements from the account), in decimal dollars. Withdrawals that have been registered with the payment processor but have not been processed nor initiated.
cashAvailableBalance number The available cash balance of all settled transactions in the account, in decimal dollars.
cashTotalBalance number The total cash balance in the account, including any pending transactions, in decimal dollars.
securitiesPosition number The total value of securities held in the account, in decimal dollars.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyBalances": [
    {
      "accountId": "A50648187",
      "fundMoveIntents": 200000000,
      "disbursementIntents": 1000,
      "cashAvailableBalance": 261266.75,
      "cashTotalBalance": 262290.2,
      "securitiesPosition": 16810
    }
  ]
}

POST /v3/getCustodyCashTransactions

This method is used to get the Cash, Securities, and Total account values of a custody account.

Parameters

Parameter Type Required Description
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)
offset integer Yes The row index at which to begin the query. Zero represents the first transaction in the list.
limit integer Yes The maximum number of transactions to return. Max value is 500.

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodyCashTransactions
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=accountId

Response

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "brokerageTransactions": [
    {
      "id": "CT000021436",
      "date": "2024-10-03",
      "name": "Chelsea Elting",
      "notes": "TEST",
      "status": "Settled",
      "settledDate": "0000-00-00",
      "createdDate": "2024-10-03 18:31:44",
      "updatedDate": "0000-00-00 00:00:00",
      "amount": "100.00"
    },
    {
      "id": "CT000021437",
      "date": "2024-10-03",
      "name": "Chelsea Elting",
      "notes": "TESTING",
      "status": "Settled",
      "settledDate": "0000-00-00",
      "createdDate": "2024-10-03 18:35:57",
      "updatedDate": "0000-00-00 00:00:00",
      "amount": "-5.37"
    }
  ],
  "pagination": {
    "totalRecords": 2,
    "startIndex": 0,
    "endIndex": 1
  }
}

POST /v3/getCustodyFundMove

Get information about a custody fund move intent (deposit)

Parameters

Parameter Type Required Description
referenceNumber string Yes Reference Number that is generated by the API once fund move is completed (fundCustodyAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodyFundMove
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=accountId
-d referenceNumber=somereferencenumber

Response

Field Type Description
`` String API response code
`` String Human-readable status description
`` Object Transaction details object

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyTransaction": {
    "accountId": "A3110006",
    "bankName": null,
    "amount": "7.000000",
    "accountNumber": "",
    "routingNumber": "011001726",
    "accountName": "",
    "referenceNumber": "339846456",
    "description": "",
    "approvalStatus": "approved",
    "status": "Pending",
    "routingNumberStatus": "Verified",
    "errors": "",
    "createdDate": "2024-12-10 22:49:06",
    "updatedDate": "2024-12-10 22:49:06"
  }
}

POST /v3/getCustodyFundMoves

Get the list of custody fund move intents for a given custody account

Parameters

Parameter Type Required Description
accountId string No Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodyFundMoves
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d accountId=accountId

Response

Field Type Description
`` String API response code
`` String Human-readable status description
`` Object Transaction details object

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyTransactions": [
    {
      "accountId": "A3110006",
      "bankName": null,
      "amount": "7.000000",
      "accountNumber": "",
      "routingNumber": "011001726",
      "accountName": "",
      "referenceNumber": "339846456",
      "description": "",
      "approvalStatus": "approved",
      "status": "Pending",
      "routingNumberStatus": "Verified",
      "errors": "",
      "createdDate": "2024-12-10 22:49:06",
      "updatedDate": "2024-12-10 22:49:06"
    },
    {
      "accountId": "A3110006",
      "bankName": null,
      "amount": "0.000000",
      "accountNumber": "",
      "routingNumber": "011001726",
      "accountName": "",
      "referenceNumber": "417184939",
      "description": "",
      "approvalStatus": "approved",
      "status": "Pending",
      "routingNumberStatus": "Verified",
      "errors": "",
      "createdDate": "2024-12-03 21:56:24",
      "updatedDate": "2024-12-03 21:56:24"
    },
    {
      "accountId": "A3110006",
      "bankName": null,
      "amount": "0.000000",
      "accountNumber": "",
      "routingNumber": "011001726",
      "accountName": "",
      "referenceNumber": "916079744",
      "description": "",
      "approvalStatus": "approved",
      "status": "Pending",
      "routingNumberStatus": "Verified",
      "errors": "",
      "createdDate": "2024-12-03 21:47:21",
      "updatedDate": "2024-12-03 21:47:21"
    },
    {
      "accountId": "A3110006",
      "bankName": null,
      "amount": "100.000000",
      "accountNumber": "MTExMTIyMjIzMzMzMDAwMA==",
      "routingNumber": "MDExMDAxNzI2",
      "accountName": "Chelsea Elting",
      "referenceNumber": "879361244",
      "description": "",
      "approvalStatus": "approved",
      "status": "SETTLED",
      "routingNumberStatus": "Verified",
      "errors": "",
      "createdDate": "2024-11-26 17:06:53",
      "updatedDate": "2024-12-03 21:09:38"
    },
    {
      "accountId": "A3110006",
      "bankName": null,
      "amount": "51.250000",
      "accountNumber": "MTExMTIyMjIzMzMzMDAwMA==",
      "routingNumber": "MDExMDAxNzI2",
      "accountName": "Chelsea Elting",
      "referenceNumber": "520284442",
      "description": "investment in ABC",
      "approvalStatus": "approved",
      "status": "Voided",
      "routingNumberStatus": "Verified",
      "errors": "",
      "createdDate": "2024-10-18 19:13:16",
      "updatedDate": "2024-11-04 23:21:17"
    }
  ],
  "pagination": {
    "totalRecords": 5,
    "startIndex": 0,
    "endIndex": 4
  }
}

POST /v3/getCustodyFundsDisbursement

This method is used to get the current Fund Move Status for Custody fund moves.

Parameters

Parameter Type Required Description
filter string No filter by parameters such as {"requestId":"",accountId":""}

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getCustodyFundsDisbursement
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid

Response

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyFundDisbursements": [
    {
      "requestId": "baca4059-e3af-43a4-a86b-4838c91be975",
      "accountId": "A98780730",
      "amount": "20.20",
      "type": "wire_domestic",
      "bankId": "122100024",
      "bankAccountId": "12345688",
      "additionalDetails": "",
      "status": "pending",
      "createdDate": "2024-11-26 20:51:40",
      "updatedDate": "2024-11-26 20:52:43"
    },
    {
      "requestId": "953cfa35-37c2-4360-b2ed-78db9fb8b331",
      "accountId": "A98780730",
      "amount": "20.20",
      "type": "ach",
      "bankId": "",
      "bankAccountId": "",
      "additionalDetails": "",
      "status": "pending",
      "createdDate": "2024-11-26 17:23:05",
      "updatedDate": "2024-11-26 17:23:05"
    },
    {
      "requestId": "002717a3-a612-4e94-b517-3f4dbd79b523",
      "accountId": "A98780730",
      "amount": "20.20",
      "type": "ach",
      "bankId": "",
      "bankAccountId": "",
      "additionalDetails": "test",
      "status": "pending",
      "createdDate": "2024-11-26 15:45:51",
      "updatedDate": "2024-11-26 15:45:51"
    }
  ],
  "pagination": {
    "totalRecords": 3,
    "startIndex": 0,
    "endIndex": 2
  }
}

POST /v3/getFundCustodialAccountInfo

Parameters

Parameter Type Required Description
RefNum string Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove )
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getFundCustodialAccountInfo
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d RefNum=685427152
-d accountId=A12345

Response

Field Type Description
custodialACHAccountDetails string Returns the fund move details as an array

Example Response

{
    "statusCode": "101",
    "statusDesc": "Ok",
    "custodialACHAccountDetails": {
        "fundStatus": "Submitted",
    }

GET /v3/custody/distributions

The Custody Distributions API allows you to create and manage fund distributions from brokerage accounts to external bank accounts. This endpoint supports both domestic (ACH) and international (wire) transfers.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "distributions": [
    {
      "id": "uuid",
      "submissionId": "uuid",
      "brokerageAccountId": "string",
      "amountCents": "integer",
      "status": "string",
      "accountId": "string",
      "bankId": "string",
      "bankAccountId": "string",
      "transactionType": "string",
      "transactionMemo": "string",
      "createdAt": "datetime",
      "updatedAt": "datetime"
    }
  ]
}

POST /v3/requestCustodialAgreement

This method is used to send the North Capital Private Securities custodial account agreement to the primary party that is linked to the Account ID that is requesting the custodial account.

Parameters

Parameter Type Required Description
offeringId string Yes TransactAPI Offering ID that is generated by the API once an offering is created (createOffering)
accountId string Yes Account ID that is generated by the API once an account is created (createAccount)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/requestCustodialAccount
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d offeringId=someofferingid
-d accountId=A12345

Response

Field Type Description
orderDetails string orderDetails of the matched requestCustodialAgreement

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "orderDetails": {
    "Account ID": "A2624258",
    "Request ID": "8"
  }
}

POST /v3/updateCustodialAccountRequest

This method is used to update the status of an existing custody account request (requestCustodyAccount) when new information has been added. You must update the status to "New Info Added" in order to initiate a re-review of the account.

Parameters

Parameter Type Required Description
custAccRequestID string Yes Request ID Generated by the createCustodyAccountRequest method
custAccRequestStatus string Yes Custody Account status: Pending \
notes string No Notes
updatedIpAddress string No IP Address associated with the updateCustodialAccountRequest method call

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/updateCustodialAccountRequest
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d custAccRequestID=hut67yt
-d custAccRequestStatus=New Info Added
-d notes=Need Info
-d updatedIpAddress=10.0.0.1

Response

Field Type Description
custodialAccountDetails string An array of custodial account includes all information of the custodial account

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodialAccountDetails": [
    {
      "accountId": "A43969",
      "custAccRequestID": "ttsUaKo",
      "custAccStatus": "Pending",
      "createdDate": "2018-10-06 07:24:52",
      "approvalStatus": "Pending"
    }
  ]
}

POST /v3/updateCustodyFundMove

This method is used to update the pending ACH transaction to void. This can only be used on a transaction that is in a "Pending" status. "Pending" transactions are submitted for processing at 6:00 PM Eastern Time every business day.

Parameters

Parameter Type Required Description
referenceNumber string Yes Reference Number that is generated by the API once an fund custodial Account is initiated ( createCustodyFundMove )
status string Yes Set value to "void" to update the pending ACH transaction. This can only be used on a transaction that is in a "Pending" status. "Pending" transactions are submitted for processing at 6:00 PM Eastern Time every business day.

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/updateCustodyFundMove
-d developerAPIKey=somedeveloperkey
-d clientID=someclientid
-d referenceNumber=313889266
-d status=void

Response

Field Type Description
custodyTransaction string Custody transaction details

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "custodyTransaction": {
    "accountId": "A3110006",
    "bankName": null,
    "amount": "7.000000",
    "accountNumber": "",
    "routingNumber": "011001726",
    "accountName": "",
    "referenceNumber": "339846456",
    "description": "",
    "approvalStatus": "approved",
    "status": "void",
    "routingNumberStatus": "Verified",
    "errors": "",
    "createdDate": "2024-12-10 22:49:06",
    "updatedDate": "2024-12-10 23:20:06"
  }
}

POST /v3/updateCustodyPartySupplement

This method is used to update the 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 an party is created (createParty)
relationship string No The party's relationship to the account owner. Put "owner" if this is the account owner.
salutation conditional No 1 - Mr. 2 - Mrs. 3 - Ms. 4 - Dr.
countryOfCitizenship string No Party's country of citizenship.
authorizedSigner conditional No Is this party the authorized signer for the account? 1 - Yes 2 - No
controlPerson conditional No Is this party a control person for the account? 1 - Yes 2 - No
politicallyExposedPerson conditional No Is this person considered a politically exposed person? 1 - Yes 2 - No
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 conditional No If this party is a beneficiary for the account, please provide if they are a 1 - Spouse 2 - Non-Spouse 3 - Trust/Entity beneficiary type
beneficiaryPercentage integer No If this party is a beneficiary for the account, please provide the percentage.
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? 1 - Yes 2 - No
companyTicker string No Company Ticker if public company association is "1 - Yes"
associatedFirm string No If the party is associated with a broker dealer, please indicate the name of the Associated Firm

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/updateCustodyPartySupplement
-d clientID=someclientid
-d developerAPIKey=somedeveloperKey
-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=some details
-d mailingAddressLine1=address1
-d mailingAddressLine2=address2
-d mailingCity=city
-d mailingState=state
-d mailingZipCode=54321
-d mailingCountry=US
-d publicCompany=yes
-d mailingCountry=test
-d associatedFirm=test

Response

Field Type Description
partyDetails string An array of party details

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "partyDetails": [
    {
      "partyId": "P43256"
    }
  ]
}