All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Documents and Files

Documents and Files on the Platform

There are two ways to upload a document to the Corastone platform:

  • via upload link as part of a transaction

  • via form-data using a local file

In both cases, the API returns the fileId to use when associating the document with assets or investors.

Via Upload Link

To include a new document with a new subscription request (Create Asset), the uploadData property specifies the type, extension, and a link to the document location.

The document link must be a URL. If you are working with a local document, use the Upload Document endpoint described in the next section.

Via Form-Data

To upload a local document directly to the platform without a link, you can use the Upload Document endpoint. In this case, you select the local file as a form-data parameter and specify the file type as a query parameter.

File Data Validation

Which Documents Get Validated

Corastone provides the option of validating the content of the following investor documents against the data for the corresponding investor:

  • W-9

  • W-8 BEN

  • W-8-BEN-E

This validation helps ensure that subscription requests proceed "in good order", with required for fields completed and matching corresponding fields in the request or an existing investor record. For example, Corastone can parse the investor's W9 to ensure that the investor's name matches the name provided in the subscription request.

To enable investor file validation for a subscription request:

  • include the file information in the investor section of the request

  • set bypassFileDataValidation to false

  • set dryRun to false

Example Payload

The following payload from a Create Asset request provides the fileId for a W9 that has already been uploaded to the platform.

When Validation Fails

File data validation is an asynchronous process initiated by the Create Asset request. Therefore, you need to check the error log for validation errors. For example, you can use the Sequencer API to retrieve the events that occurred within the relevant timeframe.

Here's a typical error associated with file data validation:

Get the details for the errorId to retrieve the validation errors:

Parser errors like the following describe the validation errors:

{
  "transactionData": {
    "securityId": "CDGP1D3LESYA",
    "amount": 500000,
    "signer": {
      "email": "[email protected]",
      "name": "someone"
  }},
  "investors": [{
    "documents": [
        {
          "fileId": "CDWM1BT94KD1"
        }
      ],
    "data":{
        "type":"individual",
        "accreditationLevel": "qualifiedEligibleParticipant",
        "hasKYCPassed": true,
        "isComplianceApproved": true,
        "name": "Ken Smith",
        "individualInfo": {
            "name": "Ken Smith",
            "dateOfBirth": "1957-06-10",
            "taxId": "987654523",
            "isUsPerson": true
        } }}],

    "account": {
      "data": {
        "name": "Individual Account",
        "type": "Individual",
        "relationshipType": "Advisory",
        "bankAccount": {
          "accountName": "savings account",
          "bankABA": "555525555",
          "bankName": "Test Bank"
        },
        "authorizedSigners": [
          {
          "name": "Jane Doe",
          "primary": true
        }
      ]}},
  "bypassFileDataValidation": false,
  "dryRun": false
}
{{URL}}/external/v1/sequencer?fromDate="2025-04-10"
{
            "error": {
                "errorId": "08ce57ef-7249-4304-b623-1e44e7fd5ce3",
                "action": {
                    "id": "CEPM001",
                    "name": "Create Digital Asset",
                    "httpData": {
                        "url": "/external/v1/primary/asset",
                        "method": "POST"
                    }
                },
                "timestamp": "2025-04-10T23:04:25.338Z"
            }
        },
{{URL}}/external/v1/error-log?errorIdsFilter=08ce57ef-7249-4304-b623-1e44e7fd5ce3
 {
                "message": "TIN on tax document (ID: 'CDWM172F441T') does not match any investor provided as input",
                "type": "businessRuleValidations",
                "code": "PE0031",
                "context": {
                    "entities": {
                        "processIds": [
                            "45cda088-b1be-4f90-b3e0-021da14c587b"
                        ],
                        "orchestrationIds": [
                            "bd6ac60e-f0ab-482b-b987-aa28790105cf"
                        ]
                    }
                },

Document Types

Supported Documents

The Integration API supplies numerous document types. However, only the following types impact platform behavior:

  • w8

  • w8bene

  • w9

These document types impact validation of investor documents.

The following table lists the descriptions of all document types listed in docType enumeration:

Type
Description

AdditionalDocuments

Supplementary documents of any type.

AdditionalSubscriptionDocument

Supplementary subscription documents.

AdditionalSubscriptionTerms

Supplementary subscription rules.

CertificateOfGoodStanding

An official document issued by a state agency confirming that a business entity is legally registered and authorized to operate in that state, demonstrating compliance with all requirements.

CommentAttachment

Not currently in use.

DownloadableMaterials

Documents that are intended for distribution.

Formation

Formal written rules on how the entity operates, including articles of incorporation, bylaws, and so on.

Governance

Formal written rules on how the entity operates, including articles of incorporation, bylaws, and so on.

HedgeFundDocument

Documents associated with a hedge fund, including operating agreements and offering offering memoranda.

IdentityVerification

A document that verifies identity, such as a passport.

InvestmentReturn

Not currently in use.

InvestmentTransferDocument

A form used to initiate the transfer of assets from one brokerage account or financial institution to another. Also called a Transfer Instruction Form (TIF).

InvestorAccreditation

Certificate confirming that the investor meets the criteria for becoming an accredited investor.

IssuanceConfidentialDocument

Not currently in use.

IssuanceDisclosures

Documents that explain factual information about the issuance and the risks of investment.

NewSharesAuthorizedUpdatedBylaws

Document amending the entity's articles of incorporation to accommodate a change in the number of shares it can issue.

Other

A document that does not fit into any other listed type.

PrivatePersonID

A document providing proof of identify for a private individual.

Prospectus

A document used to inform the public about an offering of securities, including the risks and financial outlook.

Tax

Tax-related document that is not a W9, W8-BEN, or W8-BEN-E.

TrustAgreement

Legal document outlining the terms and conditions of a trust, specifying who the grantor, trustee, and beneficiaries are, what assets are held in trust, and how the trust will be managed and distributed.

w8ben

IRS form used to collect correct Nonresident Alien (NRA) taxpayer information for individuals for reporting purposes and to document their status for tax reporting purposes.

w8bene

IRS form used to provide status of beneficial owner for US tax withholding and reporting.

W9

IRS form W-9 used to provide the correct Taxpayer Identification Number (TIN) to the person who is required to file an information return with the IRS to report.