Array of verification document details associated with the account. Each object includes a documentUrl — a time-limited admin download link generated per request
letter\_details
array
Array of AI letter details associated with the account. Each object includes a time-limited documentUrl download link
Object containing a request array of accreditation request details. When verification documents exist for the account, it also contains a documents array; each document includes a time-limited documentUrl download link. The clientId and developerAPIKey fields in request are always masked
{"statusCode":"101","statusDesc":"Ok","accreditedDetails":{"request":[{"airequestId":"vvNlBU","accountId":"A11685","aiMethod":"Upload","allow":"Pending","aiDate":"0000-00-00","reviewedBy":"Testing","notes":"Test","aiRequestStatus":"Need More Info","createdDate":"2018-09-18","accountName":"John Smith","accreditedStatus":"Pending","clientId":"XXXXXXXXXXXXXXX","developerAPIKey":"XXXXXXXXXXXXXXX"}],"documents":[{"id":"123","documentid":"gHnhS","documentTitle":"Testing2","documentFileName":"GKrQ180918120031.pdf","documentFileReferenceCode":"180918120031","status":"ACTIVE","documentUrl":"https://api-sandboxdash.norcapsecurities.com/admin_v3/Upload_documentation/uploadDocument/EncRypt3dT0k3n..."}]}}
This is used to send a request to verify the accredited status of an Account (createAccount).*** This Method has fees associated with it that will be charged for each use. The cost to use this method is $35 per request. Fees will only be charged in the live environment. ***
This method is used to update the status of the submitted Accredited Investor verification request. This is normally used to indicate when new information has been uploaded by the investor and is ready for re-review in an existing review (New Info Added), or if an updated letter is being requested after a review was previously completed (Updated Letter Requested).
Two status values also change the account's accredited status: Approved sets the account's accreditedStatus to Verified Accredited, and rejected (case-insensitive) sets it to Not Accredited. Any other non-empty value is stored as sent — the API does not validate aiRequestStatus against a fixed list.
Request ID generated by the requestAiVerification method
aiRequestStatus
string
Yes
New request status, stored as sent (no fixed list is enforced). Typical values: Updated Letter Requested, New Info Added. Approved and rejected also update the account's accreditedStatus (see above)
This method is used to upload documentation to verify Accredited Investor status to a specific account. NCPS requires one of the three following options for accreditation verification: 1) W2's, 1099's or tax returns for the past two years to show your individual income exceeds $200,000 (or joint income exceeds $300,000) for each year. 2) Provide recent account statements or third party appraisals that show the value of your assets exceed $1,000,000 excluding your primary residence. (Must be dated within the last 3 months) 3) Provide an official written communication from any of the following stating that the professional service provider has a reasonable belief that you are an Accredited Investor (Must be dated within the last 3 months): A licensed CPA, Attorney, Investment Advisor, or Registered broker-dealer. PDF, JPG, JPEG, PNG, and TXT files are supported.
This is a multipart/form-data request. The file is sent in the userfile form field.
Account ID that is generated by the API when an account is created (createAccount)
documentTitle
string
Yes
Uploaded document title, stored verbatim. Send the plain title — do not add a documentTitle0= prefix. (Unlike the multi-file upload*Document endpoints, this endpoint takes a single file and stores whatever you send, so a prefix would become part of the title.)
userfile
file
Yes
Raw file data. Specification of raw file data is application specific. Accepted file extensions are PDF, JPG, JPEG, PNG, and TXT (case-insensitive). Minimum file size is 1 kB. Please refer to the Sample Requests section for reference implementations.
importaxiosfrom'axios';importFormDatafrom'form-data';constapiHost=process.env.TAPI_HOST||'https://api-sandboxdash.norcapsecurities.com';consttapi=axios.create({baseURL:`${apiHost}/tapiv3/index.php/v3`,timeout:60000,});constauth={clientID:process.env.TAPI_CLIENT_ID,developerAPIKey:process.env.TAPI_API_KEY,};// `file` is a multer-style object: { buffer, originalname }constuploadVerificationDocument=(accountId,documentTitle,file)=>{constdata=newFormData();data.append('clientID',auth.clientID);data.append('developerAPIKey',auth.developerAPIKey);data.append('accountId',accountId);// Single file: send the plain title. No `documentTitle0=` prefix — it is stored verbatim.data.append('documentTitle',documentTitle);data.append('userfile',file.buffer,{filename:file.originalname});returntapi.post('/uploadVerificationDocument',data,{headers:data.getHeaders()});};