All pages
Powered by GitBook
1 of 38

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Fund/Offering Management

Once a fund/offering has been launched, the offering life cycle can begin. If the fund has not been created/launched yet, see Create and Launch New Offering. The Corastone object that corresponds to a subscription is called an asset or digital asset.

Related Concepts

Initial Investments (Drawdown Vehicles)

Initial Investments (All Other Vehicles)

Documents and Files

Mapping Your IDs to Corastone IDs

Testing a Subscription Request

W8/W9 Parser

Investor data submitted via the Integration API must match the information included in uploaded W8/W9 documents. Therefore, submission of investor data triggers parsing of the W8/W9 PDF, if provided, and a comparison of that data with the data submitted via API. (An override option is available to skip the comparison.) If a mismatch is detected, the platform aborts the transaction and produces an error code that prompts the investor to re-examine submitted data and correct errors detected by the comparison.

Endpoints

The following list summarizes the endpoints required to support the fund/offering life cycle:

Create Digital Asset

Request Digital Asset Remediation

Remediate Digital Asset

Reject Digital Asset

Recall Asset

Accept Recall Asset

Reject Recall Asset

Mark Assets Batch as Wired

Mark Assets Batch as Accepted

Mark Assets Batch as Settled

Decline Digital Asset

Cancel Digital Asset

Dispose Digital Asset

Upload Document

Run Close

Add Asset Correlation ID

Remove Asset Correlation ID

Add Issuance Close Correlation ID

Remove Issuance Close Correlation ID

Add File Correlation ID

Remove File Correlation ID

Getters

Get Security Details

Get Security History Details

Get Security Totals History

Get Security Correlation IDs History

Get Asset Details

Get Asset History

Get Asset Correlation IDs History

Get File Details By ID

Get File Correlation IDs History

Get Issuance Close Details

Get Issuance Close History

Get Issuance Close Correlation IDs History

Get Fees Template Details

Get Fees Template History

Get Issuing Legal Entity Details

Get Issuing Legal Entity History

Inv - Remediate Digital Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security.

Details

/external/v1/primary/asset/{assetId}/remediate

Synopsis

Important Notes

  • Issuer requested remediation first.

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

\

Inv - Create Asset (Lot)

The Integration API refers to the initial step in subscribing as "creating an asset." Throughout the API flows, an asset represents multiple shares, or a lot, of a given security.

Details

/external/v1/primary/asset

Synopsis

Important Notes

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • Use the dryRun option to check the submission for completeness and correctness without persisting the information.

AM/FA - Accept Recall Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. If an investor recalls an asset, the asset manager or fund administrator can accept or reject the request.

Details

Synopsis

/external/v1/primary/asset/{assetId}/recall/accept

Inv - Mark Assets Batch as Wired

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. The investing organization can mark a batch of securities to indicate funds have been wired.

Details

/external/v1/primary/batch-mark-wired

Synopsis

AM - Reject Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. After an investor requests a subscription for a security, the asset manager can accept or reject it.

Details

/external/v1/primary/{assetId}/reject

Synopsis

Important Notes

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

AM/FA - Mark Assets Batch as Accepted

Details

Synopsis

AM/FA - Run Close

When the asset manager/fund administrator is ready to issue securities on the subscriptions received so far, they can run a close for the issuance.

Details

Synopsis

AM/FA/Inv - Upload Document

Details

Synopsis

AM/FA/Inv - Get Security Totals History

Details

Synopsis

AM/FA/Inv - Get Security Details

Details

Synopsis

AM/FA/Inv - Get Asset Correlation IDs History

Details

Synopsis

/external/v1/primary/batch-mark-accepted
/external/v1/primary/run-close
/external/v1/file/upload
/external/v1/securities/totals/history
/external/v1/securities
/external/v1/asset/correlation-id/history

AM/FA - Mark Assets Batch as Settled

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. Once the funds for multiple transactions have been transferred, you can mark the shares as settled.

Details

/external/v1/primary/batch-mark-settled

Synopsis

AM/FA - Decline Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. If funds for a transaction are not received, the asset manager/fund administrator can decline the shares.

Details

/external/v1/primary/asset/{assetId}/decline

Synopsis

Important Notes

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

\

AM - Dispose Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. The asset manager can dispose shares after cancelation or if the issuance has been busted.

Details

/external/v1/primary/asset/{assetId}/dispose

Synopsis

Important Notes

  • Use only after the asset has been canceled or the issuance (offering) has not met its minimum investment.

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

\

AM/FA/Inv - Add Asset Correlation ID

Use a correlation ID to associate external identifiers with platform IDs. An asset represents multiple shares, or a lot, of a given security.

Details

/external/v1/asset/{assetId}/correlation-id/add

Synopsis

AM/FA/Inv - Remove Asset Correlation ID

A correlation ID associates an external identifier with a platform ID. An asset represents multiple shares, or a lot, of a given security.

Details

/external/v1/asset/{assetId}/correlation-id/remove

Synopsis

AM/FA/Inv - Add Issuance Close Correlation ID

Use a correlation ID to associate external identifiers with platform IDs.

Details

/external/v1/issuance-close/{closeId}/correlation-id/add

Synopsis

AM/FA/Inv - Add File Correlation ID

Use a correlation ID to associate external identifiers with platform IDs.

Details

/external/v1/file/{fileId}/correlation-id/add

Synopsis

AM/FA - Get File Details

A file is a document associated with a subscription.

Details

/external/v1/file

Synopsis

AM/FA/Inv - Get File Correlation IDs History

Details

/external/v1/file/correlation-id/history

Synopsis

AM/FA/Inv - Get Asset History

Details

/external/v1/asset/history

Synopsis

AM/FA - Get Fees Template History

Details

/external/v1/fees-template/history

Synopsis

AM/FA/Inv - Remove File Correlation ID

A correlation ID associates an external identifiers with a platform ID.

Details

Synopsis

AM/FA/Inv - Get Security Correlation IDs History

Details

Synopsis

/external/v1/file/{fileId}/correlation-id/remove
/external/v1/securities/correlation-id/history

AM/FA/Inv - Get Issuance Close Correlation IDs History

Details

/external/v1/issuance-close/correlation-id/history

Synopsis

AM/FA - Request Digital Asset Remediation

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security.

Details

/external/v1/primary/asset/{assetId}/request-remediation

Synopsis

Important Notes

  • The asset goes back to the investor organization to be updated using the remediation endpoint.

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

AM - Cancel Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. The asset manager can cancel the asset after receiving funds if the investor needs to back out.

Details

/external/v1/primary/asset/{assetId}/cancel

Synopsis

Important Notes

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

Inv - Recall Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. An investor can recall the asset to undo the subscription.

Details

/external/v1/primary/asset/{assetId}/recall

Synopsis

Important Notes

  • See Blockchain Transaction Tracking for information on using orchestrationId and processId.

  • The dryRun option is included in the response, but is not yet used for this method.

\

AM/FA - Reject Recall Asset (Lot)

Throughout the API flows, an asset represents multiple shares, or a lot, of a given security. If an investor recalls an asset, the asset manager or fund administrator can accept or reject the request.

Detail

/external/v1/primary/asset/{assetId}/recall/reject

Synopsis

AM/FA/Inv - Get Issuing Legal Entity History

Details

/external/v1/issuing-legal-entity/history

Synopsis

AM/FA - Get Fees Template Details

Details

/external/v1/fees-template

Synopsis

AM/FA/Inv - Get Issuance Close Details

Details

Synopsis

/external/v1/issuance-close

AM/FA/Inv - Remove Issuance Close Correlation ID

A correlation ID associates an external identifiers with a platform ID.

Details

/external/v1/issuance-close/{closeId}/correlation-id/remove

Synopsis

AM/FA/Inv - Get Issuing Legal Entity Details

Details

/external/v1/issuing-legal-entity

Synopsis

AM/FA/Inv - Get Issuance Close History

Details

Synopsis

/external/v1/issuance-close/history

AM/FA/Inv - Get Security History Details

Details

/external/v1/securities/history

Synopsis

Request Digital Asset Remediation

put

This route is used to trigger the request of a digital asset remediation on the blockchain for a particular security.

This means the issuer has not accepted the investment yet, so they are requesting the investment remediation.

This is typically called when the subscription is not in good order (NIGO) and this action triggers the asset to go back to the investor organization to be updated using the remediate endpoint.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["created","remediation_pending","remediated","modified"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "requestSubscriptionRemediation".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
rejectReasonall ofOptional

This property contains the reason for the rejection.

Example: {"reason":[{"message":"reject reason","category":"EC006","documentWithIssues":[{"document":{"fileId":"FILE3JUS03I04"},"pages":[{"pageNumber":1,"description":"The first page has an invalid signature"}]}]}],"extraData":{"externalId":"123456789","some":"Custom Property"}}
Responses
200
Successfully triggered the process to request the asset remediation on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 - AS0032 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/request-remediation HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 394

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "rejectReason": {
    "reason": [
      {
        "message": "reject reason",
        "category": "EC006",
        "documentWithIssues": [
          {
            "document": {
              "fileId": "FILE3JUS03I04"
            },
            "pages": [
              {
                "pageNumber": 1,
                "description": "The first page has an invalid signature"
              }
            ]
          }
        ]
      }
    ],
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Create Digital Asset

post

This route is used to trigger the recording of a digital asset on the blockchain for a particular security. It is the first action that should be triggered to start the subscription flow.

This triggers an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This asynchronous process will either be composed of 2 transactions - if the intention is bringing a new investor/account to the ledger, or updating an existing one - or just 1 transaction if this is a subsequent investment done from an existing investor/account without any change.

This endpoint can be invoked if the security is in one of the following statuses: ["active"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["investor"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "createSubscription".

Authorizations
Body
accountall ofRequired

This property contains the reference data of the account that holds the digital security.

Example: {"correlationData":[{"correlationId":"INV001"}],"data":{"name":"Individual Account","type":"Individual","relationshipType":"Brokerage","bankAccount":{"accountNumber":"111111111","accountName":"savings account","bankABA":"555555555","bankName":"Test Bank","bankSwift":"AAAA-BB-CC-123","extraData":{"settlementInstructions":"Please wire the amount within 72 hours","some":"Other Property"}},"contactInfo":[{"email":"[email protected]","phoneNumber":"832-426-4242","type":"primary"},{"email":"[email protected]","phoneNumber":"987-564-1234","type":"tax","name":"John Doe","description":"Use this contact for Tax Related Information (K-1, 1099 or other tax related information)"}],"custodian":{"data":{"name":"Charles Schwab"}},"advisors":[{"data":{"type":"FA","name":"Chris Smith","crdCode":"546321","repCode":"AB98765"}}],"authorizedSigners":[{"name":"Jane Doe","primary":true,"extraData":{"externalId":"123456","some":"Other Property"}}],"beneficiaries":[{"name":"John Doe","beneficialOwnership":40,"individualInfo":{"name":"John Doe","taxId":"123456789"}},{"name":"Jane Doe LLC","beneficialOwnership":60,"legalEntityInfo":{"name":"Jane Doe Private Investments and Capital Management, LLC","type":"LLC","taxId":"987654321"}}],"secureExtraData":{"sensitive":"Data to be protected by application encryption"}}}
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","amount":50000,"signer":{"email":"[email protected]","name":"John Doe"}}
bypassFileDataValidationbooleanOptional

Set this to true if you want to bypass file data consistency (e.g. W9 data matching the investor/account information being provided)

Example: true
dryRunbooleanOptional

Set this to true if you want the request to go through the typical request validation stages up until persisting objects to database. If this is set to true then no data will actually be persisted neither on the database nor the blockchain, and no data will be sent out to the issuer, but all the request validations will be executed.

A typical use case for this would be for an advisor to check that a subscription being created for a particular client is valid prior to actually sending it out.

Default: falseExample: true
Responses
201
Successfully triggered the process to record the digital asset on the ledger (and publish a new or an updated investor/account to the ledger depending on the input payload) The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - IS0001 - AS0009 - IV0006 - IV0007 - IV0009 - IV0008 - IV0020 - IV0021 - IV0022 - IV0017 - IV0016 - IV0023 - IV0035 - IV0032 - IV0036 - IV0037 - IV0017 - AC0006 - AC0007 - AC0013 - AC0014 - AC0016 - AC0017 - AC0049 - AC0044 - AC0050 - AD0017 - AD0016 - AD0018 - AD0022 - AD0023 - CT0015 - CT0017 - CT0019 - CT0020 - AS0016 - AS0029 - FL0002 - FL0003 - FL0019 - FL0004 - FL0005 - FL0017 - FL0020 - QU0001 - QU0002 - QU0003 - QU0004 - QU0005 - QU0006 - QU0007 - QU0008 - QU0009 - QU0010 - CI0001 - CI0002 - CI0003 - CI0004 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - EX0006 - AC0020 - IV0013 - AD0012 - CT0011 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - GN0008 - IV0002 - AC0002 - FL0008 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0012 - IS0013 - IS0026 - IS0027 - IS0028 - IS0029 - IS0030 - IS0034 - AS0017 - IV0003 - IV0004 - IV0005 - IV0010 - AC0009 - AC0010 - AC0028 - AC0029 - FL0001 - FL0006 - FL0010 - FL0011 - FL0028 - AS0015 - AS0026 - AD0015 Please refer to the error code dictionary for the details of each error code.
application/json
425
The following error codes can be returned: - GN0003 Please refer to the error code dictionary for the details of each error code.
application/json
post
POST /external/v1/primary/asset HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 2904

{
  "investors": [
    {
      "data": {
        "type": "individual",
        "accreditationLevel": "qualifiedClient",
        "isInstitutional": false,
        "hasKYCPassed": false,
        "isComplianceApproved": false,
        "is5131RestrictedPerson": false,
        "name": "John Doe",
        "individualInfo": {
          "name": "John Doe",
          "dateOfBirth": "2024-09-12",
          "taxId": "123456789",
          "occupation": {
            "role": "Software Engineer",
            "companyName": "Sample Company"
          },
          "residentialAddress": {
            "addressLineOne": "8 Greenway Plaza",
            "addressLineTwo": "Suite 1515",
            "country": "US",
            "state": "Texas",
            "city": "Houston",
            "zipCode": "77046 USA"
          },
          "mailingAddress": {
            "addressLineOne": "8 Greenway Plaza",
            "addressLineTwo": "Suite 1515",
            "country": "US",
            "state": "Texas",
            "city": "Houston",
            "zipCode": "77046 USA"
          },
          "isUsPerson": true,
          "contactInfo": [
            {
              "email": "[email protected]",
              "phoneNumber": "832-426-4242"
            }
          ],
          "extraData": {
            "externalInvestorId": "123456",
            "some": "other property"
          }
        }
      },
      "documents": [
        {
          "uploadData": {
            "type": "IdentityVerification",
            "extension": "pdf",
            "name": "John Doe ID",
            "link": "https://test-storage.s3.amazonaws.com/some-id.pdf"
          },
          "extraData": {
            "someCustom": "property to be shared"
          }
        },
        {
          "fileId": "FILE3JUS03I04"
        }
      ],
      "correlationData": [
        {
          "correlationId": "INV001"
        }
      ],
      "accountAssociationData": {
        "isPrimary": true
      }
    }
  ],
  "account": {
    "correlationData": [
      {
        "correlationId": "INV001"
      }
    ],
    "data": {
      "name": "Individual Account",
      "type": "Individual",
      "relationshipType": "Brokerage",
      "bankAccount": {
        "accountNumber": "111111111",
        "accountName": "savings account",
        "bankABA": "555555555",
        "bankName": "Test Bank",
        "bankSwift": "AAAA-BB-CC-123",
        "extraData": {
          "settlementInstructions": "Please wire the amount within 72 hours",
          "some": "Other Property"
        }
      },
      "contactInfo": [
        {
          "email": "[email protected]",
          "phoneNumber": "832-426-4242",
          "type": "primary"
        },
        {
          "email": "[email protected]",
          "phoneNumber": "987-564-1234",
          "type": "tax",
          "name": "John Doe",
          "description": "Use this contact for Tax Related Information (K-1, 1099 or other tax related information)"
        }
      ],
      "custodian": {
        "data": {
          "name": "Charles Schwab"
        }
      },
      "advisors": [
        {
          "data": {
            "type": "FA",
            "name": "Chris Smith",
            "crdCode": "546321",
            "repCode": "AB98765"
          }
        }
      ],
      "authorizedSigners": [
        {
          "name": "Jane Doe",
          "primary": true,
          "extraData": {
            "externalId": "123456",
            "some": "Other Property"
          }
        }
      ],
      "beneficiaries": [
        {
          "name": "John Doe",
          "beneficialOwnership": 40,
          "individualInfo": {
            "name": "John Doe",
            "taxId": "123456789"
          }
        },
        {
          "name": "Jane Doe LLC",
          "beneficialOwnership": 60,
          "legalEntityInfo": {
            "name": "Jane Doe Private Investments and Capital Management, LLC",
            "type": "LLC",
            "taxId": "987654321"
          }
        }
      ],
      "secureExtraData": {
        "sensitive": "Data to be protected by application encryption"
      }
    }
  },
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "amount": 50000,
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "documents": [
    {
      "uploadData": {
        "type": "AdditionalSubscriptionTerms",
        "extension": "pdf",
        "name": "Subscription Terms",
        "link": "https://test-storage.s3.amazonaws.com/sub-terms.pdf"
      },
      "extraData": {
        "someCustom": "property to be shared"
      }
    },
    {
      "fileId": "FILE3JUS03I04"
    }
  ],
  "bypassFileDataValidation": true,
  "dryRun": true
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q",
  "fileIds": [
    "US9QIFILE1",
    "US9QIFILE2"
  ],
  "referenceData": {
    "account": {
      "accountId": "US9QIMAOAS1Q",
      "custodian": {
        "custodianId": "US9ZIMAOAS1Q"
      }
    },
    "investors": [
      {
        "investorId": "US9QIM123S1Q"
      }
    ]
  },
  "completedByAdvisor": {
    "advisorId": "OG12JUS03I04"
  },
  "dryRun": true
}

Accept Recall Asset

put

This route is used to trigger the accept of the asset recall on the blockchain for a particular security.

Can be invoked by issuer or assigned service provider (e.g. fund admin) to accept the asset recall requested by investor.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

Once processed, the asset will be disposed. This action is not reversible

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["recalled"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "cancelSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to accept the asset recall on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - IS0035 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/recall/accept HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Mark Assets batch as wired

put

This route is used to trigger the process to mark a list of confirmed assets of a given security as wired.

This should be called by the asset owner as the notification of the funds covering the investment being wired.

If the security is a money market fund, this should be called by the asset account owner.

This can be called for all security types except non-unitized security types with capital calls enabled.

It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the assets in the payload are the following statuses: confirmed.

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","investor"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "markSubscriptionWired".

Authorizations
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. the security id to which all the asset ids in the list belong to

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
assetIdsstring[] · min: 1 · max: 500Required

The list of the unique identifiers of the digital assets to apply action to.

The entries on this list need to be consistent with the security id in the transaction data

Example: ["USS3JKS01I00","US9QIMAOAS1Q"]
Responses
200
Successfully triggered the process to mark a list of assets as wired. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0018 - AS0013 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0023 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - AS0004 - AS0024 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/batch-mark-wired HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 152

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "assetIds": [
    "USS3JKS01I00",
    "US9QIMAOAS1Q"
  ]
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}

Reject Digital Asset

put

This route is used to trigger the rejection of a digital asset on the blockchain for a particular security.

This means the issuer has not accepted the investment and the asset will be disposed.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["created","remediation_pending","remediated","modified"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "rejectSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
rejectReasonall ofOptional

This property contains the reason for the rejection.

Example: {"reason":[{"message":"reject reason","category":"EC006","documentWithIssues":[{"document":{"fileId":"FILE3JUS03I04"},"pages":[{"pageNumber":1,"description":"The first page has an invalid signature"}]}]}],"extraData":{"externalId":"123456789","some":"Custom Property"}}
Responses
200
Successfully triggered the process to reject the asset on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 - AS0032 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/reject HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 394

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "rejectReason": {
    "reason": [
      {
        "message": "reject reason",
        "category": "EC006",
        "documentWithIssues": [
          {
            "document": {
              "fileId": "FILE3JUS03I04"
            },
            "pages": [
              {
                "pageNumber": 1,
                "description": "The first page has an invalid signature"
              }
            ]
          }
        ]
      }
    ],
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Mark Assets batch as Accepted

put

This route is used to trigger the process to mark a list of assets of a given security as accepted.

This means the issuer has accepted the investments and the assets will move on to the next stage of the lifecycle.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the assets are in one of the following statuses: ["created","remediation_pending","remediated","modified"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "acceptSubscription".

Authorizations
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. the security id to which all the asset ids in the list belong to

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
assetIdsstring[] · min: 1 · max: 500Required

The list of the unique identifiers of the digital assets to apply action to.

The entries on this list need to be consistent with the security id in the transaction data

Example: ["USS3JKS01I00","US9QIMAOAS1Q"]
Responses
200
Successfully triggered the process to mark a list of assets as accepted. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0018 - AS0013 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - AS0004 - AS0024 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/batch-mark-accepted HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 152

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "assetIds": [
    "USS3JKS01I00",
    "US9QIMAOAS1Q"
  ]
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}

Run Close

post

This route is used to trigger the process to run the close.

This should be called by the issuer or fund admin when the assets are ready to be issued. All the assets that have been accepted (and settled when there is up-front payment) will be issued.

For contingent offerings, only after the minimum amount is reached can this action be invoked.

It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "closeOffering".

Authorizations
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the close is being run

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
closeDataall ofRequired

This property contains the close data (e.g. issue price, date)

Example: {"priceData":[{"price":10.23,"asOfDate":"2024-09-12T00:00:00.000Z","bypassNAVCheck":true}],"issueDate":"2024-09-12T00:00:00.000Z"}
bookedCloseIdstring · max: 12Optional

This is the booked unique identifier of the close. It is optional. If not provided, a new unique identifier will be generated.

Example: USS3JKS01I00
Responses
201
Successfully triggered the process to run the close. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 - IS0082 - IS0083 - IS0084 - IS0085 - IS0086 - IS0092 - IS0093 - IC0010 - IC0012 - IC0009 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - IS0088 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0002 - IS0010 - IS0025 - IS0081 - IS0087 - IS0089 - IS0091 - IS0094 - IS0090 - IS0114 - AS0030 Please refer to the error code dictionary for the details of each error code.
application/json
post
POST /external/v1/primary/run-close HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 283

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "closeData": {
    "priceData": [
      {
        "price": 10.23,
        "asOfDate": "2024-09-12T00:00:00.000Z",
        "bypassNAVCheck": true
      }
    ],
    "issueDate": "2024-09-12T00:00:00.000Z"
  },
  "bookedCloseId": "USS3JKS01I00"
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "closeId": "US9QIMAOAS1Q"
}

Upload Document

post

This route is used to upload a document.

The maximum file size is 100 Megabytes.

The minimum file size is 100 bytes.

The following file extensions are supported: doc,docx,odt,rtf,txt,pdf,xps,html,epub,djvu,xlsx,xlxm,xls,xml,csv,pptx,pptm,ppt,png,jpeg,jpg bytes.

A file can be uploaded via multipart/form-data with the file key "file".

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Query parameters
fileTypestring · enumRequired

The type of file

Example: TaxPossible values:
Body
filestring · binaryOptional

Represents the uploaded file via multipart/form-data. This endpoint supports chunked transfer encoding.

Responses
201
Successfully uploaded file
application/json
400
The following error codes can be returned: - GN0002 - FL0021 - FL0022 - FL0023 - FL0024 - FL0016 Please refer to the error code dictionary for the details of each error code.
application/json
401
Invalid session or expired
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
post
POST /external/v1/file/upload?fileType=PrivatePersonID HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
{
  "fileId": "US9QIFILE1"
}

Get Security Totals History

get

This route is used to retrieve the history of security totals given a set of filters such as blockchain details or security identifiers.

The history entries will reflect the state of the totals on a particular block on the ledger.

This endpoint returns paginated data. Up to 10 can be extracted per call.

This endpoint can be called by applications with access to scope "readIssuance".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
securityIdsFilterstringOptional

The comma delimited list of security ids to filter the security history records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

The comma delimited list of security correlation ids to filter the security history records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
securityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "securityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Security Totals history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/securities/totals/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "event": "Created",
    "update": {
      "securityId": "USCCWSF01I01",
      "totalAmount": 1000000,
      "totalCalledAmount": 50000,
      "totalCalledAmountOutsideCommitment": 20000,
      "totalDistributedAmount": 750000,
      "totalSharesAmount": 0,
      "organization": {
        "name": "Test Organization",
        "orgId": "TEST1234"
      }
    },
    "signerData": {
      "email": "[email protected]",
      "name": "John Doe"
    },
    "extraData": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    }
  }
]

Get Security Details

get

This route is used to retrieve the details of securities given a set of search filters.

This endpoint is paginated, up to 10 records can be retrieved per call.

This endpoint can be called by applications with access to scope "readIssuance".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

securityStatusFilterstringOptional

The comma delimited list of statuses to filter the security records. Up to 14 entries can be provided. Available values: deleted, preSync, active, closed, completed, bust_in_progress, busted, cancel_in_progress, canceled, refund_in_progress, retired, approved_revert_to_active, paused, archived

Example: active,closed
securityTypeFilterstringOptional

The comma delimited list of security types to filter the security records. Up to 7 entries can be provided. Available values: equity, lpUnits, llcUnits, spcUnits, convertible, lpInterest, llcUnitShares

Example: equity,llcUnitShares
securityIdsFilterstringOptional

The comma delimited list of security ids to filter the security records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

The comma delimited list of security correlation ids to filter the security records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
securityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "securityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Issuance details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/securities HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    },
    "name": "Test U.S. Real Estate Fund II Access Fund, L.P.",
    "shortName": "Test Real Estate Fund II",
    "externalIdentifiers": {
      "isin": "US0004026250",
      "cusip": "056833100",
      "ticker": "NYSE"
    },
    "settings": {
      "bankAccount": {
        "bankABA": "979384247",
        "bankName": "Test Bank",
        "accountName": "Test U.S. Real Estate Fund II Access Fund, L.P.",
        "accountNumber": "457349587349587"
      }
    },
    "securityId": "USCCWSF01I01",
    "isMoneyMarket": true,
    "termSheetInfo": {
      "securityType": "lpUnits",
      "campaignType": "NonContingent",
      "allowBelowMinimum": true,
      "mannerOfSaleInfo": {
        "endDate": "2024-09-12T00:00:00.000Z",
        "maxAmount": 750000000,
        "minAmount": 0,
        "startDate": "2024-09-12T00:00:00.000Z"
      },
      "regulation": "RegS",
      "priceOptions": {
        "unitized": false,
        "unitPrice": 12,
        "minimumInvestment": 120,
        "allowsReinvestment": true,
        "type": "static",
        "currency": "USD",
        "totalSold": 0
      },
      "navOptions": {
        "navCurrency": "USD",
        "navFrequency": "Monthly"
      },
      "dividendOptions": {
        "dividendOption": "Mandatory Dividend",
        "dividendPercentage": 3,
        "dividendPaymentSchedule": "Annually",
        "dividendType": "cumulative"
      },
      "redemptionOptions": {
        "redemptionTenderOfferOptionEnabled": true,
        "redemptionPercentage": 2,
        "redemptionFrequency": "Monthly",
        "redemptionLockupPeriodMonth": 30,
        "redemptionNoticePeriod": 10
      },
      "shareClassInfo": [
        {
          "securityId": "USCCWSF01I01",
          "correlationData": [
            {
              "correlationId": "123245573717",
              "origin": "Identifies share class on backoffice",
              "organization": {
                "name": "Test Organization",
                "orgId": "TEST1234"
              },
              "extraData": {
                "some": "Custom Property"
              }
            }
          ]
        }
      ],
      "feesInfo": {
        "feesTemplateInfo": {
          "feesTemplateId": "FT123456",
          "name": "Charles Schwab Fees Template",
          "status": "created",
          "backendFee": 0,
          "managementFees": [
            {
              "feesInfo": [
                {
                  "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
                  "value": 2,
                  "unit": "percentage",
                  "frequency": "Annually"
                },
                {
                  "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
                  "value": 1.5,
                  "unit": "percentage",
                  "frequency": "Annually"
                }
              ]
            }
          ],
          "investorServicingFees": [
            {
              "maxAmount": 9999.99,
              "feesInfo": [
                {
                  "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
                  "value": 3,
                  "unit": "percentage",
                  "frequency": "Annually"
                },
                {
                  "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
                  "value": 2.5,
                  "unit": "percentage",
                  "frequency": "Annually"
                }
              ]
            },
            {
              "minAmount": 10000,
              "maxAmount": 49999.99,
              "feesInfo": [
                {
                  "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
                  "value": 2,
                  "unit": "percentage",
                  "frequency": "Annually"
                },
                {
                  "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
                  "value": 1.5,
                  "unit": "percentage",
                  "frequency": "Annually"
                }
              ]
            }
          ],
          "otherFees": [
            {
              "groupName": "Global fees",
              "groupDetails": [
                {
                  "feesInfo": [
                    {
                      "description": "Some global fee",
                      "value": 75,
                      "unit": "basisPoints",
                      "frequency": "One-Off"
                    }
                  ]
                }
              ]
            },
            {
              "groupName": "Bank fees",
              "groupDetails": [
                {
                  "maxAmount": 4999.99,
                  "feesInfo": [
                    {
                      "description": "Bank fees - tier 1 - $5,000,000 - $9,999,999",
                      "value": 50,
                      "unit": "basisPoints",
                      "frequency": "One-Off"
                    }
                  ]
                },
                {
                  "minAmount": 5000,
                  "maxAmount": 999999.99,
                  "feesInfo": [
                    {
                      "description": "Bank fees - tier 2 - $10,000,000+",
                      "value": 25,
                      "unit": "basisPoints",
                      "frequency": "One-Off"
                    }
                  ]
                }
              ]
            }
          ]
        },
        "commonFees": {
          "performanceFees": {
            "hurdleRate": 1,
            "highWatermark": {
              "enabled": true,
              "frequency": "Quarterly"
            },
            "grossOrNet": "Net",
            "fees": [
              {
                "description": "The performance fee details during the IP period",
                "value": 1,
                "unit": "percentage",
                "frequency": "Annually"
              },
              {
                "description": "Some other description about the fee structure in the Post-IP period",
                "value": 0.5,
                "unit": "basisPoints",
                "frequency": "Semi-Annually"
              }
            ]
          }
        }
      }
    },
    "campaignCompletedDate": "2024-09-12T00:00:00.000Z",
    "restricted": false,
    "exemption": "REIT",
    "parentSecurityId": "USCCWSF01I01",
    "exclusivityType": "private",
    "status": "active",
    "shareClassOptions": {
      "description": "This share class is offered to brokerage accounts",
      "accountEligibility": "Brokerage"
    },
    "accountId": "US9QIMAOAS1Q",
    "organization": {
      "orgId": "TEST1234",
      "name": "Test Organization"
    },
    "deploymentStatus": "success",
    "locked": false,
    "legalEntityInfo": {
      "legalEntityId": "US1G14EGN",
      "status": "preSync",
      "locked": false,
      "name": "Test Legal Entity",
      "type": "LP",
      "taxId": "987654321",
      "address": {
        "addressLineOne": "8 Greenway Plaza",
        "city": "New York",
        "state": "NY",
        "country": "US",
        "zipCode": "10165"
      },
      "isUsEntity": true,
      "contactInfo": [
        {
          "email": "[email protected]",
          "phoneNumber": "+1234950987"
        }
      ],
      "incorporationDate": "2024-09-12",
      "incorporationState": "DE",
      "incorporationCountry": "US",
      "fundInfo": {
        "name": "Test Fund",
        "description": "This data is for test purposes",
        "taxReporting": "K-1",
        "exemption": "3(C)(1)",
        "type": "Hedge Fund",
        "strategy": "Long/Short",
        "is1031Eligible": false
      }
    },
    "correlationData": [
      {
        "correlationId": "123245573717",
        "origin": "Identifies security on backoffice",
        "organization": {
          "name": "Test Organization",
          "orgId": "TEST1234"
        },
        "extraData": {
          "some": "Custom Property"
        }
      }
    ]
  }
]

Get Asset Correlation Ids History

get

This route is used to retrieve the history data entries of asset correlation ids given a set of filters such as blockchain details.

The history entries will reflect the state of the asset correlation ids on a particular block on the ledger.

This endpoint returns paginated data. Up to 20 can be extracted per call.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
Responses
200
Successfully retrieved the Asset Correlation Ids History entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/asset/correlation-id/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "event": "Created",
    "update": {
      "correlationId": "123245573717",
      "entityType": "account",
      "entityId": "OG1234567890",
      "status": "broadcast",
      "origin": "Backoffice-system-123",
      "organization": {
        "name": "Test Organization",
        "orgId": "TEST1234"
      }
    }
  }
]

Mark Assets batch as Settled

put

This route is used to trigger the process to mark a list of assets of a given security as settled.

This should be called by the issuer or assigned service provider (e.g. fund admin) to aknowledge the receipt of the funds covering the investments that have been wired.

This can be called for all security types except non-unitized security types with capital calls enabled.

It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the assets in the payload are in the following statuses: confirmed,settlement_confirmation_pending.

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "settleSubscription".

Authorizations
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. the security id to which all the asset ids in the list belong to

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
assetIdsstring[] · min: 1 · max: 500Required

The list of the unique identifiers of the digital assets to apply action to.

The entries on this list need to be consistent with the security id in the transaction data

Example: ["USS3JKS01I00","US9QIMAOAS1Q"]
issueDateone ofOptional

The date in which the assets are to be issued.

If not provided, then the assets that will be issued as a result of this action (e.g. money market funds, static price offerings etc...) will have the "issuedDate" set to the current timestamp of this action

Example: 2024-09-12T00:00:00.000Z
string · date-timeOptional

Date-time string

Example: 2024-09-12T00:00:00.000Z
or
string · dateOptional

Date string

Example: 1980-01-01
or
number · numberOptional

Epoch timestamp (milliseconds)

Example: 1185106460000
Responses
200
Successfully triggered the process to mark a list of assets as settled. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0018 - AS0013 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - AS0004 - AS0024 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/batch-mark-settled HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 191

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "assetIds": [
    "USS3JKS01I00",
    "US9QIMAOAS1Q"
  ],
  "issueDate": "2024-09-12T00:00:00.000Z"
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}

Decline Digital Asset

put

This route is used to trigger the decline (cancel + dispose) of a digital asset on the blockchain for a particular security.

This should be called after the asset has already been accepted by the issuer but the payment was not received.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

Once processed, the asset will be disposed.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["confirmed","settlement_confirmation_pending"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "disposeSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to decline the asset on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/decline HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Dispose Digital Asset

put

This method is used to refund an asset and consequently mark it as disposed. It should only be executed after the asset has been canceled or the issuance has been busted.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

Once processed, the asset will be disposed.

This endpoint can be invoked if the asset is in one of the following statuses: ["canceled","busted"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "disposeSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to dispose the asset on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 - IV0016 - IV0018 - AC0024 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IV0013 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 - IV0001 - AC0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - AS0005 - AS0004 - RD0001 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/dispose HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Add Asset Correlation ID

put

This route is used to add a correlation ID to an existing asset. This correlation ID is an externally provided id that uniquely identifies the asset within the organization making this call.

This correlation ID can't be in use by another asset. This correlation ID can be broadcast to all the counterparties that have access to this asset.

If the ID is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
broadcastToCounterpartybooleanOptional

This property defines if correlation information will be sent to all counterparties.

Default: falseExample: true
originstringOptional

The organization origin system that created this entity correlation id

Example: Backoffice-system-123
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully added (or, if the action is being broadcast, triggered the addition of) the correlation id to the asset.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - AS0025 - AS0026 - IS0016 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/asset/{assetId}/correlation-id/add HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 268

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "broadcastToCounterparty": true,
  "origin": "Backoffice-system-123",
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Remove Asset Correlation ID

put

This route is used to remove a correlation ID from an existing asset. This correlation ID is an externally provided id that uniquely identifies the asset within the organization making this call.

This correlation ID should be in use by the asset involved in this call.

This action can be broadcast to all the counterparties that have access to this asset.

If the action is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully removed (or, if the action is being broadcast, triggered the removal of) the correlation id from the asset.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - AS0027 - AS0026 - AS0028 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/asset/{assetId}/correlation-id/remove HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 204

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Add Issuance Close Correlation ID

put

This route is used to add a correlation ID to an existing issuance close. This correlation ID is an externally provided id that uniquely identifies the issuance close within the organization making this call.

This correlation ID can't be in use by another issuance close. This correlation ID can be broadcast to all the counterparties that have access to this issuance close.

If the ID is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
closeIdstringRequired

The unique identifier of the issuance close on the ledger

Example: US9QIMAOAS1Q
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
broadcastToCounterpartybooleanOptional

This property defines if correlation information will be sent to all counterparties.

Default: falseExample: true
originstringOptional

The organization origin system that created this entity correlation id

Example: Backoffice-system-123
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully added (or, if the action is being broadcast, triggered the addition of) the correlation id to the security.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - IC0001 - IC0011 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IC0007 - IC0004 - IS0107 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/issuance-close/{closeId}/correlation-id/add HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 268

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "broadcastToCounterparty": true,
  "origin": "Backoffice-system-123",
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Add File Correlation ID

put

This route is used to add a correlation ID to an existing file. This correlation ID is an externally provided id that uniquely identifies the file within the organization making this call.

This correlation ID can't be in use by another file. This correlation ID can be broadcast to all the counterparties that have access to this file and that have a relationship with the organization making this call.

If the ID is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
fileIdstringRequired

The unique identifier of the file on the blockchain

Example: USS3JKS01I00
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
broadcastToCounterpartybooleanOptional

This property defines if correlation information will be sent to all counterparties.

Default: falseExample: true
originstringOptional

The organization origin system that created this entity correlation id

Example: Backoffice-system-123
transactionDataall ofRequired

This property contains the information regarding who is signing the transaction on the blockchain as well as how it will be signed

Example: {"signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully added (or, if the action is being broadcast, triggered the addition of) the correlation id to the file.
application/json
400
The following error codes can be returned: - GN0002 - FL0016 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - FL0007 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - FL0006 - FL0012 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/file/{fileId}/correlation-id/add HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 240

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "broadcastToCounterparty": true,
  "origin": "Backoffice-system-123",
  "transactionData": {
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Get File Details

get

This route is used to retrieve the details of a file, given a set of search filters.

This endpoint is paginated, up to 25 records can be retrieved per call.

This endpoint can be called by applications with access to scope "readSubscription".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
fileIdsFilterstringOptional

The comma delimited list of file ids to filter the file history records. Up to 25 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
fileCorrelationIdsFilterstringOptional

The comma delimited list of file correlation ids to filter the file history records. Up to 25 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
fileCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "fileCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

generateDownloadLinkbooleanOptional

True if a file download Link is meant to be generated. It is optional

Example: true
Responses
200
Successfully retrieved the file details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/file HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "fileId": "US9QIFILE1",
    "correlationData": [
      {
        "correlationId": "123245573717",
        "origin": "Identifies file on backoffice",
        "organization": {
          "name": "Test Organization",
          "orgId": "TEST1234"
        },
        "extraData": {
          "some": "Custom Property"
        }
      }
    ],
    "extension": "pdf",
    "name": "File name",
    "size": 3856,
    "status": "created",
    "type": "text",
    "typeLabel": "text",
    "infectedState": "clean",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "456789OIJHGFCVGHJKLKJHGF67JH",
    "link": "https://some-download-link.com",
    "organization": {
      "orgId": "TEST1234",
      "name": "Test Organization"
    },
    "associatedInvestorIds": [
      "INV1234"
    ]
  }
]

Get File Correlation Ids History

get

This route is used to retrieve the history data entries of file correlation ids given a set of filters such as blockchain details or file identifiers.

The history entries will reflect the state of the file correlation ids on a particular block on the ledger.

This endpoint returns paginated data. Up to 20 can be extracted per call.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
fileIdsFilterstringOptional

The comma delimited list of file ids to filter the file history records. Up to 25 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
fileCorrelationIdsFilterstringOptional

The comma delimited list of file correlation ids to filter the file history records. Up to 25 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
fileCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "fileCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the File Correlation Ids history entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/file/correlation-id/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "hash": "$argon2id$v=19$m=4096,t=3,p=1$8AVpNOnlBvN/reiv7Rdkpw$lzXOuG0H4SibMa0elrEZ5sq3YAvdu+Y5L+ta0oSSMTg",
    "update": [
      {
        "correlationId": "123245573717",
        "entityType": "investor",
        "entityId": "123245573717",
        "status": "broadcast",
        "origin": "Backoffice-system-123",
        "organization": {
          "name": "Test Organization",
          "orgId": "TEST1234"
        }
      }
    ]
  }
]

Get Asset History

get

This route is used to retrieve the history data entries of assets given a set of filters such as blockchain details or asset identifiers.

The history entries will reflect the state of the assets on a particular block on the ledger.

This endpoint returns paginated data. Up to 500 can be extracted per call.

This endpoint can be called by applications with access to scope "readSubscription".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
assetEventFilterstringOptional

The comma delimited list of events to filter the asset history records. Up to 47 entries can be provided. Available values: Remediated, Modified, RemediationRequested, Confirmed, CommitmentAccepted, Rejected, Created, Disposed, Declined, Canceled, Issued, Settled, Refunded, OfflineAssetCreated, Recalled, RecallRejected, RecallAccepted, Wired, Busted, CapitalCallCured, CapitalCallFailed, CapitalCallSettled, CapitalCallOverSettled, CapitalCallPartialSettled, NewNAV, CanceledNAV, UpdatedNAV, TenderOfferOutputAssetCreated, TenderTradeProposed, TenderAllAssetParentLock, TenderCanceledDisposed, TenderCanceledIssued, TenderPriceApplied, TenderTradeSettled, TradeProposed, TradeMatched, TransferParentInTransfer, TransferCanceled, TransferCompleted, RemovedFromTransfer, LockedForRedemption, RedemptionCanceled, Redeemed, AssetManualUpdate, ModelAssetMoneyMarketAssetConfirmed, RebalanceRequestInitiated, RebalanceRequestSettled

Example: Created,Modified
assetIdsFilterstringOptional

The comma delimited list of asset ids to filter the asset records. Up to 500 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
assetCorrelationIdsFilterstringOptional

The comma delimited list of asset correlation ids to filter the asset records. Up to 50 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
assetCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "assetCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Asset history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/asset/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "event": "Created",
    "update": {
      "assetId": "US9QIMAOAS1Q",
      "securityId": "USCCWSF01I00",
      "accountId": "US9QIMAOAS1Q",
      "acquiredDate": "2023-02-27T22:42:06.620Z",
      "acquiredPrice": 100,
      "issuedDate": "2023-02-27T22:42:06.620Z",
      "amount": 1000,
      "currentValue": 1200,
      "capitalCallDetails": {
        "calledAmount": 300000,
        "calledAmountOutsideCommitment": 5000,
        "distributedAmount": 10000,
        "enabled": true
      },
      "status": "issued",
      "shouldReinvest": false,
      "customCostBasis": false,
      "subDocSignDate": "2023-02-27T22:42:06.621Z",
      "extraData": {
        "additionalProp1": "string",
        "additionalProp2": "string",
        "additionalProp3": "string"
      },
      "fileIds": [
        "US9QIFILE1",
        "US9QIFILE2"
      ],
      "organization": {
        "orgId": "TEST1234",
        "name": "Test Organization"
      },
      "bookingModel": "fullyDisclosedFBO",
      "type": "standard"
    },
    "signerData": {
      "email": "[email protected]",
      "name": "John Doe"
    },
    "extraData": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    }
  }
]

Get Fees Template History

get

This route is used to retrieve the history data entries of fees templates given a set of filters such as blockchain details or fees template identifiers.

The history entries will reflect the state of the fees templates on a particular block on the ledger.

This endpoint returns paginated data. Up to 25 can be extracted per call.

This endpoint can be called by applications with access to scope "readFeesTemplate".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
feesTemplateIdsFilterstringOptional

The comma delimited list of fees template ids to filter the fees template records. Up to 25 ids can be provided. Each id should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
Responses
200
Successfully retrieved the Fees Template history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/fees-template/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "event": "Created",
    "update": {
      "feesTemplateId": "FT123456",
      "name": "Charles Schwab Fees Template",
      "status": "created",
      "backendFee": 0.75,
      "managementFees": [
        {
          "feesInfo": [
            {
              "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
              "value": 2,
              "unit": "percentage",
              "frequency": "Annually"
            },
            {
              "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
              "value": 1.5,
              "unit": "percentage",
              "frequency": "Annually"
            }
          ]
        }
      ],
      "investorServicingFees": [
        {
          "maxAmount": 9999.99,
          "feesInfo": [
            {
              "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
              "value": 3,
              "unit": "percentage",
              "frequency": "Annually"
            },
            {
              "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
              "value": 2.5,
              "unit": "percentage",
              "frequency": "Annually"
            }
          ]
        },
        {
          "minAmount": 10000,
          "maxAmount": 49999.99,
          "feesInfo": [
            {
              "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
              "value": 2,
              "unit": "percentage",
              "frequency": "Annually"
            },
            {
              "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
              "value": 1.5,
              "unit": "percentage",
              "frequency": "Annually"
            }
          ]
        }
      ],
      "otherFees": [
        {
          "groupName": "Global fees",
          "groupDetails": [
            {
              "feesInfo": [
                {
                  "description": "Some global fee",
                  "value": 75,
                  "unit": "basisPoints",
                  "frequency": "One-Off"
                }
              ]
            }
          ]
        },
        {
          "groupName": "Bank fees",
          "groupDetails": [
            {
              "maxAmount": 4999.99,
              "feesInfo": [
                {
                  "description": "Bank fees - tier 1 - $5,000,000 - $9,999,999",
                  "value": 50,
                  "unit": "basisPoints",
                  "frequency": "One-Off"
                }
              ]
            },
            {
              "minAmount": 5000,
              "maxAmount": 999999.99,
              "feesInfo": [
                {
                  "description": "Bank fees - tier 2 - $10,000,000+",
                  "value": 25,
                  "unit": "basisPoints",
                  "frequency": "One-Off"
                }
              ]
            }
          ]
        }
      ]
    },
    "signerData": {
      "email": "[email protected]",
      "name": "John Doe"
    },
    "extraData": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    }
  }
]

Remove File Correlation ID

put

This route is used to remove a correlation ID from an existing file. This correlation ID is an externally provided id that uniquely identifies the file within the organization making this call.

This correlation ID should be in use by the file involved in this call.

This action can be broadcast to all the counterparties that have access to this file and that have a relationship with the organization making this call.

If the action is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
fileIdstringRequired

The unique identifier of the file on the blockchain

Example: USS3JKS01I00
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
transactionDataall ofRequired

This property contains the information regarding who is signing the transaction on the blockchain as well as how it will be signed

Example: {"signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully removed (or, if the action is being broadcast, triggered the removal of) the correlation id from the file.
application/json
400
The following error codes can be returned: - GN0002 - FL0016 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - false - false Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - FL0012 - FL0013 - FL0014 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/file/{fileId}/correlation-id/remove HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 176

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "transactionData": {
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Get Security Correlation Ids History

get

This route is used to retrieve the history data entries of security correlation ids given a set of filters such as blockchain details.

The history entries will reflect the state of the security correlation ids on a particular block on the ledger.

This endpoint returns paginated data. Up to 20 can be extracted per call.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
Responses
200
Successfully retrieved the Security Correlation Ids history entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/securities/correlation-id/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "event": "Created",
    "update": {
      "correlationId": "123245573717",
      "entityType": "account",
      "entityId": "OG1234567890",
      "status": "broadcast",
      "origin": "Backoffice-system-123",
      "organization": {
        "name": "Test Organization",
        "orgId": "TEST1234"
      }
    }
  }
]

Get Issuance Close Correlation Ids History

get

This route is used to retrieve the history data entries of issuance close correlation ids given a set of filters such as blockchain details.

The history entries will reflect the state of the issuance close correlation ids on a particular block on the ledger.

This endpoint returns paginated data. Up to 20 can be extracted per call.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
Responses
200
Successfully retrieved the Issuance Close Correlation Ids History entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/issuance-close/correlation-id/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "event": "Created",
    "update": {
      "correlationId": "123245573717",
      "entityType": "account",
      "entityId": "OG1234567890",
      "status": "broadcast",
      "origin": "Backoffice-system-123",
      "organization": {
        "name": "Test Organization",
        "orgId": "TEST1234"
      }
    }
  }
]

Request Digital Asset Remediation

put

This route is used to trigger the request of a digital asset remediation on the blockchain for a particular security.

This means the issuer has not accepted the investment yet, so they are requesting the investment remediation.

This is typically called when the subscription is not in good order (NIGO) and this action triggers the asset to go back to the investor organization to be updated using the remediate endpoint.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["created","remediation_pending","remediated","modified"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "requestSubscriptionRemediation".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
rejectReasonall ofOptional

This property contains the reason for the rejection.

Example: {"reason":[{"message":"reject reason","category":"EC006","documentWithIssues":[{"document":{"fileId":"FILE3JUS03I04"},"pages":[{"pageNumber":1,"description":"The first page has an invalid signature"}]}]}],"extraData":{"externalId":"123456789","some":"Custom Property"}}
Responses
200
Successfully triggered the process to request the asset remediation on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 - AS0032 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/request-remediation HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 394

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  },
  "rejectReason": {
    "reason": [
      {
        "message": "reject reason",
        "category": "EC006",
        "documentWithIssues": [
          {
            "document": {
              "fileId": "FILE3JUS03I04"
            },
            "pages": [
              {
                "pageNumber": 1,
                "description": "The first page has an invalid signature"
              }
            ]
          }
        ]
      }
    ],
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Cancel Digital Asset

put

This route is used to trigger the cancellation of a digital asset on the blockchain for a particular security.

This should be called when for some reason the investor needs to stop participating in the security, after the asset has been accepted and the payment is already processed. This means that the money will need to be refunded after this action using the "dispose" action endpoint.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

Once processed, the asset will move to next stage of the lifecycle

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["confirmed","settled"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "cancelSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to cancel the asset on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/cancel HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Recall Asset

put

This route is used to trigger the recall of an asset on the blockchain for a particular security.

Can be invoked at any time while the offering is still active.

This should be called by investor to stop participating in the offering.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

Once processed, the asset will move to next stage of the lifecycle

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["created","remediation_pending","remediated","confirmed","modified"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["investor"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "cancelSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to recall the asset on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 - IV0006 - IV0007 - IV0009 - IV0017 - IV0016 - IV0018 - IV0023 - IV0036 - AC0006 - AC0007 - AC0013 - AC0014 - AC0016 - AC0017 - AC0049 - AC0024 - AD0022 - AD0023 - CT0017 - FL0002 - FL0003 - FL0019 - FL0004 - FL0005 - FL0017 - FL0020 - QU0001 - QU0002 - QU0003 - QU0004 - QU0005 - QU0006 - QU0007 - QU0008 - QU0009 - QU0010 - CI0001 - CI0002 - CI0003 - CI0004 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - AS0023 - IV0013 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 - IV0001 - AC0001 - FL0008 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - IS0035 - AS0005 - AS0004 - IV0003 - AC0009 - AC0029 - FL0001 - FL0006 - FL0010 - FL0011 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/recall HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Reject Recall Asset

put

This route is used to trigger the reject of the asset recall on the blockchain for a particular security.

Can be invoked by issuer or assigned service provider (e.g. fund admin) to reject the asset recall requested by investor.

This triggers an asynchronous process (the id of which is returned on the success response) to persist this information on the blockchain which can be monitored using the "Transactions API" endpoints.

Once processed, the asset will move back to the same status that it was prior to the "recall" action.

This endpoint can be invoked if the security is in one of the following statuses: ["active","paused"].

This endpoint can be invoked if the asset is in one of the following statuses: ["recalled"].

This endpoint can be invoked by organizations that have at least one of the following roles on this security: ["issuer","service_provider"].

This endpoint can't be invoked if the security is restricted.

This endpoint can be called by applications with access to scope "cancelSubscription".

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain.

This can be a 12 characters platform generated identifier or a correlation id provided by the client. If its length is different from 12 it will be treatead as a correlation id.

Particularly relevant for correlation ids, it is recommended that the ID is url encoded if it contains any special characters.

Example: US9QIMAOAS1Q
Query parameters
isAssetCorrelationIdanyOptional

This property is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

If set to "true" then the platform will try to obtain the asset data using the path parameter as a correlation id instead of a platform generated id.

Example: true
assetCorrelationOrgIdanyOptional

This is to be used if the value passed in the "assetId" path parameter is a correlation id instead of a platform generated id.

This is the organization identifier linked to that path param. If not provided the organization id will be inferred from the access token.

This will be ignored if the value in the path parameter is 12 characters long and the isAssetCorrelationId is either absent or not "true".

Example: US9QI
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security being bought and the investment details

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to reject the asset recall on the ledger. The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process. The "assetId" property can be used on the "Assets API" to get the details of the digital asset.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - AS0003 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - AS0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - AS0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0016 - IS0012 - IS0013 - IS0035 - AS0005 - AS0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/primary/asset/{assetId}/recall/reject HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 109

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q"
}

Get Issuing Legal Entity History

get

This route is used to get the history data entries of issuing legal entity given a set of filters such as blockchain details or legal entity identifiers.

The history entries will reflect the state of the legal entities on a particular block on the ledger.

This endpoint returns paginated data. Up to 20 can be extracted per call.

This endpoint can be called by applications with access to scope "readIssuingLegalEntity".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
legalEntityIdsFilterstringOptional

The comma delimited list of legal entity ids to filter the legal entity history records. Up to 20 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
legalEntityCorrelationIdsFilterstringOptional

The comma delimited list of legal entity correlation ids to filter the legal entity history records. Up to 20 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
legalEntityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "legalEntityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully extracted the issuing legal entity history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - LE0011 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/issuing-legal-entity/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "update": {
      "extraData": {
        "externalId": "123456789",
        "some": "Custom Property"
      },
      "secureExtraData": {
        "some": "Sensitive Data"
      },
      "description": "A custom legal entity type",
      "taxId": "text",
      "address": {
        "addressLineOne": "8 Greenway Plaza",
        "addressLineTwo": "Suite 1515",
        "country": "US",
        "state": "Texas",
        "city": "Houston",
        "zipCode": "77046 USA"
      },
      "mailingAddress": {
        "addressLineOne": "8 Greenway Plaza",
        "addressLineTwo": "Suite 1515",
        "country": "US",
        "state": "Texas",
        "city": "Houston",
        "zipCode": "77046 USA"
      },
      "placeOfBusinessAddress": [
        {
          "addressLineOne": "8 Greenway Plaza",
          "addressLineTwo": "Suite 1515",
          "country": "US",
          "state": "Texas",
          "city": "Houston",
          "zipCode": "77046 USA"
        }
      ],
      "incorporationDate": "2024-09-12",
      "incorporationCountry": "US",
      "incorporationState": "FL",
      "isUsEntity": true,
      "domicileCountry": "US",
      "jurisdictionCountry": "US",
      "jurisdictionState": "TX",
      "contactInfo": [
        {
          "email": "[email protected]",
          "phoneNumber": "832-426-4242"
        }
      ],
      "countryIssuingTaxId": "US",
      "taxYearEnd": "09-12",
      "natureOfBusiness": "Semiconductor device fabrication",
      "name": "Test Legal Entity",
      "type": "LP",
      "fundInfo": {
        "name": "New fund name",
        "description": "Fund description",
        "type": "Hedge Fund",
        "strategy": "Early Stage",
        "taxReporting": "K-1",
        "is1031Eligible": true,
        "exemption": "REIT",
        "commoditiesInfo": {
          "CFTCRegisteredCommodityPoolOperator": true
        }
      },
      "legalEntityId": "US1G14EGN",
      "status": "sync",
      "organization": {
        "name": "Test Organization",
        "orgId": "TEST1234"
      }
    },
    "hash": "$argon2id$v=19$m=4096,t=3,p=1$8AVpNOnlBvN/reiv7Rdkpw$lzXOuG0H4SibMa0elrEZ5sq3YAvdu+Y5L+ta0oSSMTg"
  }
]

Get Fees Template Details

get

This route is used to retrieve the details of fees template, given a set of search filters.

This endpoint is paginated, up to 25 records can be retrieved per call.

This endpoint can be called by applications with access to scope "readFeesTemplate".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

feesTemplateIdsFilterstringOptional

The comma delimited list of fees template ids to filter the fees template records. Up to 25 ids can be provided. Each id should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
feesTemplateStatusFilterstringOptional

The comma delimited list of statuses to filter the fees template records. Up to 4 entries can be provided. Available values: preSync, deleted, created, updated

Example: created,created
Responses
200
Successfully retrieved fees template details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/fees-template HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "commonFees": {
      "performanceFees": {
        "hurdleRate": 1,
        "highWatermark": {
          "enabled": true,
          "frequency": "Quarterly"
        },
        "grossOrNet": "Net",
        "fees": [
          {
            "description": "The performance fee details during the IP period",
            "value": 1,
            "unit": "percentage",
            "frequency": "Annually"
          },
          {
            "description": "Some other description about the fee structure in the Post-IP period",
            "value": 0.5,
            "unit": "basisPoints",
            "frequency": "Semi-Annually"
          }
        ]
      }
    },
    "feesTemplateInfo": {
      "feesTemplateId": "FT123456",
      "name": "Charles Schwab Fees Template",
      "status": "created",
      "backendFee": 0.75,
      "managementFees": [
        {
          "feesInfo": [
            {
              "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
              "value": 2,
              "unit": "percentage",
              "frequency": "Annually"
            },
            {
              "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
              "value": 1.5,
              "unit": "percentage",
              "frequency": "Annually"
            }
          ]
        }
      ],
      "investorServicingFees": [
        {
          "maxAmount": 9999.99,
          "feesInfo": [
            {
              "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
              "value": 3,
              "unit": "percentage",
              "frequency": "Annually"
            },
            {
              "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
              "value": 2.5,
              "unit": "percentage",
              "frequency": "Annually"
            }
          ]
        },
        {
          "minAmount": 10000,
          "maxAmount": 49999.99,
          "feesInfo": [
            {
              "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
              "value": 2,
              "unit": "percentage",
              "frequency": "Annually"
            },
            {
              "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
              "value": 1.5,
              "unit": "percentage",
              "frequency": "Annually"
            }
          ]
        }
      ],
      "otherFees": [
        {
          "groupName": "Global fees",
          "groupDetails": [
            {
              "feesInfo": [
                {
                  "description": "Some global fee",
                  "value": 75,
                  "unit": "basisPoints",
                  "frequency": "One-Off"
                }
              ]
            }
          ]
        },
        {
          "groupName": "Bank fees",
          "groupDetails": [
            {
              "maxAmount": 4999.99,
              "feesInfo": [
                {
                  "description": "Bank fees - tier 1 - $5,000,000 - $9,999,999",
                  "value": 50,
                  "unit": "basisPoints",
                  "frequency": "One-Off"
                }
              ]
            },
            {
              "minAmount": 5000,
              "maxAmount": 999999.99,
              "feesInfo": [
                {
                  "description": "Bank fees - tier 2 - $10,000,000+",
                  "value": 25,
                  "unit": "basisPoints",
                  "frequency": "One-Off"
                }
              ]
            }
          ]
        }
      ]
    }
  }
]

Get Issuance Close Details

get

This route is used to retrieve the details of issuance closes given a set of search filters.

This endpoint is paginated, up to 500 records can be retrieved per call.

This endpoint can be called by applications with access to scope "readIssuanceClose".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

closeStatusFilterstringOptional

The comma delimited list of statuses to filter the close records. Up to 3 entries can be provided. Available values: preSync, deleted, created

Example: created,deleted
fromDatestring · date-timeOptional

The start date from which the closes are to be retrieved.

toDatestring · date-timeOptional

The end date until which the closes are to be retrieved.

securityIdsFilterstringOptional

The comma delimited list of security ids to filter the close records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

The comma delimited list of security correlation ids to filter the close records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
closeIdsFilterstringOptional

The comma delimited list of security ids to filter the close records. Up to 500 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
closeCorrelationIdsFilterstringOptional

The comma delimited list of close correlation ids to filter the close records. Up to 50 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
securityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "securityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

closeCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "closeCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Issuance Close details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/issuance-close HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "closeId": "US9QIMAOAS1Q",
  "correlationData": [
    {
      "correlationId": "123245573717",
      "origin": "Identifies a \"close\" on backoffice",
      "organization": {
        "name": "Test Organization",
        "orgId": "TEST1234"
      },
      "extraData": {
        "some": "Custom Property"
      }
    }
  ],
  "securityId": "US9QIMAOAS1Q",
  "status": "created",
  "issueDate": "2024-09-12T00:00:00.000Z",
  "priceData": [
    {
      "price": 10.23,
      "asOfDate": "2024-09-12T00:00:00.000Z",
      "bypassNAVCheck": true
    }
  ],
  "organization": {
    "orgId": "TEST1234",
    "name": "Test Organization"
  }
}

Remove Issuance Close Correlation ID

put

This route is used to remove a correlation ID from an existing issuance close. This correlation ID is an externally provided id that uniquely identifies the issuance close within the organization making this call.

This correlation ID should be in use by the issuance close involved in this call.

This action can be broadcast to all the counterparties that have access to this issuance close.

If the action is to be broadcast, then it will trigger an asynchronous process (the id of which is returned on the success response) which can be monitored using the "Transactions API" endpoints.

This endpoint can be called by applications with access to scope "manageReferenceData".

Authorizations
Path parameters
closeIdstringRequired

The unique identifier of the issuance close on the ledger

Example: US9QIMAOAS1Q
Body
correlationIdstring · max: 100Required

Externally provided id that uniquely identifies an entity within an organization.

Example: 123245573717
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully removed (or, if the action is being broadcast, triggered the removal of) the correlation id from the issuance close.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - IC0001 - IC0011 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0107 - IC0005 - IC0004 - IC0006 Please refer to the error code dictionary for the details of each error code.
application/json
put
PUT /external/v1/issuance-close/{closeId}/correlation-id/remove HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 204

{
  "extraData": {
    "externalId": "123456789",
    "some": "Custom Property"
  },
  "correlationId": "123245573717",
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processData": {
    "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
    "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
  }
}

Get Issuing Legal Entity Details

get

This route is used to get the details of an issuing legal entity given a set of search filters.

This endpoint is paginated, up to 20 records can be retrieved per call.

This endpoint can be called by applications with access to scope "readIssuingLegalEntity".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

legalEntityIdsFilterstringOptional

The comma delimited list of legal entity ids to filter the legal entity records. Up to 20 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
legalEntityCorrelationIdsFilterstringOptional

The comma delimited list of legal entity correlation ids to filter the legal entity records. Up to 20 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
legalEntityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "legalEntityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully extracted the issuing legal entity details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/issuing-legal-entity HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    },
    "secureExtraData": {
      "some": "Sensitive Data"
    },
    "description": "A custom legal entity type",
    "taxId": "text",
    "address": {
      "addressLineOne": "8 Greenway Plaza",
      "addressLineTwo": "Suite 1515",
      "country": "US",
      "state": "Texas",
      "city": "Houston",
      "zipCode": "77046 USA"
    },
    "mailingAddress": {
      "addressLineOne": "8 Greenway Plaza",
      "addressLineTwo": "Suite 1515",
      "country": "US",
      "state": "Texas",
      "city": "Houston",
      "zipCode": "77046 USA"
    },
    "placeOfBusinessAddress": [
      {
        "addressLineOne": "8 Greenway Plaza",
        "addressLineTwo": "Suite 1515",
        "country": "US",
        "state": "Texas",
        "city": "Houston",
        "zipCode": "77046 USA"
      }
    ],
    "incorporationDate": "2024-09-12",
    "incorporationCountry": "US",
    "incorporationState": "FL",
    "isUsEntity": true,
    "domicileCountry": "US",
    "jurisdictionCountry": "US",
    "jurisdictionState": "TX",
    "contactInfo": [
      {
        "email": "[email protected]",
        "phoneNumber": "832-426-4242"
      }
    ],
    "countryIssuingTaxId": "US",
    "taxYearEnd": "09-12",
    "natureOfBusiness": "Semiconductor device fabrication",
    "name": "Test Legal Entity",
    "type": "LP",
    "fundInfo": {
      "name": "New fund name",
      "description": "Fund description",
      "type": "Hedge Fund",
      "strategy": "Early Stage",
      "taxReporting": "K-1",
      "is1031Eligible": true,
      "exemption": "REIT",
      "commoditiesInfo": {
        "CFTCRegisteredCommodityPoolOperator": true
      }
    },
    "legalEntityId": "US1G14EGN",
    "status": "sync",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    }
  }
]

Get Issuance Close History

get

This route is used to retrieve the history data entries of issuance close(s) given a set of filters such as blockchain details or close identifiers.

The history entries will reflect the state of the issuance close(s) on a particular block on the ledger.

This endpoint returns paginated data. Up to 500 can be extracted per call.

This endpoint can be called by applications with access to scope "readIssuanceClose".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
closeIdsFilterstringOptional

The comma delimited list of security ids to filter the close records. Up to 500 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
closeCorrelationIdsFilterstringOptional

The comma delimited list of close correlation ids to filter the close records. Each record should not exceed 100 characters.

Example: 1234,5678,7890
closeCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "closeCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the issuance close(s) history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/issuance-close/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "signerData": {
      "name": "John Doe",
      "email": "[email protected]"
    },
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    },
    "event": "Created",
    "update": {
      "securityId": "US9QIMAOAS1Q",
      "closeId": "US9QIMAOAS1Q",
      "status": "created",
      "organization": {
        "orgId": "TEST1234",
        "name": "Test Organization"
      }
    }
  }
]

Get Security History Details

get

This route is used to retrieve the history data entries of securities given a set of filters such as blockchain details or security identifiers.

The history entries will reflect the state of the securities on a particular block on the ledger.

This endpoint returns paginated data. Up to 10 can be extracted per call.

This endpoint can be called by applications with access to scope "readIssuance".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

blockNumbernumber · max: 2147483647Optional

The block number where the action was recorded on the ledger.

Example: 350
transactionIdstring · max: 500Optional

The transaction id where the action was recorded on the ledger.

Example: 456789OIJHGFCVGHJKLKJHGF67JHPattern: ^[a-zA-Z0-9-]*$
channelNamestring · max: 20Optional

The name of the channel where the action was recorded on the ledger.

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
securityIdsFilterstringOptional

The comma delimited list of security ids to filter the security history records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

The comma delimited list of security correlation ids to filter the security history records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
securityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "securityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved the Security history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/securities/history HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "timestamp": "2024-09-12T00:00:00.000Z",
    "blockNumber": 350,
    "transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
    "channelName": "OG123",
    "event": "Created",
    "update": {
      "legalEntityInfo": {
        "legalEntityId": "US1G14EGN"
      },
      "securityId": "USCCWSF01I01",
      "termSheetInfo": {
        "securityType": "lpUnits",
        "campaignType": "NonContingent",
        "allowBelowMinimum": true,
        "mannerOfSaleInfo": {
          "endDate": "2024-09-12T00:00:00.000Z",
          "maxAmount": 750000000,
          "minAmount": 0,
          "startDate": "2024-09-12T00:00:00.000Z"
        },
        "regulation": "RegS",
        "priceOptions": {
          "unitized": false,
          "unitPrice": 12,
          "minimumInvestment": 120,
          "allowsReinvestment": true,
          "type": "static",
          "currency": "USD",
          "totalSold": 0
        },
        "navOptions": {
          "navCurrency": "USD",
          "navFrequency": "Monthly"
        },
        "dividendOptions": {
          "dividendOption": "Mandatory Dividend",
          "dividendPercentage": 3,
          "dividendPaymentSchedule": "Annually",
          "dividendType": "cumulative"
        },
        "redemptionOptions": {
          "redemptionTenderOfferOptionEnabled": true,
          "redemptionPercentage": 2,
          "redemptionFrequency": "Monthly",
          "redemptionLockupPeriodMonth": 30,
          "redemptionNoticePeriod": 10
        },
        "shareClassInfo": [
          {
            "securityId": "USCCWSF01I01",
            "correlationData": [
              {
                "correlationId": "123245573717",
                "origin": "Identifies share class on backoffice",
                "organization": {
                  "name": "Test Organization",
                  "orgId": "TEST1234"
                },
                "extraData": {
                  "some": "Custom Property"
                }
              }
            ]
          }
        ],
        "feesInfo": {
          "feesTemplateInfo": {
            "feesTemplateId": "FT123456",
            "name": "Charles Schwab Fees Template",
            "status": "created",
            "backendFee": 0,
            "managementFees": [
              {
                "feesInfo": [
                  {
                    "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
                    "value": 2,
                    "unit": "percentage",
                    "frequency": "Annually"
                  },
                  {
                    "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
                    "value": 1.5,
                    "unit": "percentage",
                    "frequency": "Annually"
                  }
                ]
              }
            ],
            "investorServicingFees": [
              {
                "maxAmount": 9999.99,
                "feesInfo": [
                  {
                    "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
                    "value": 3,
                    "unit": "percentage",
                    "frequency": "Annually"
                  },
                  {
                    "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
                    "value": 2.5,
                    "unit": "percentage",
                    "frequency": "Annually"
                  }
                ]
              },
              {
                "minAmount": 10000,
                "maxAmount": 49999.99,
                "feesInfo": [
                  {
                    "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
                    "value": 2,
                    "unit": "percentage",
                    "frequency": "Annually"
                  },
                  {
                    "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
                    "value": 1.5,
                    "unit": "percentage",
                    "frequency": "Annually"
                  }
                ]
              }
            ],
            "otherFees": [
              {
                "groupName": "Global fees",
                "groupDetails": [
                  {
                    "feesInfo": [
                      {
                        "description": "Some global fee",
                        "value": 75,
                        "unit": "basisPoints",
                        "frequency": "One-Off"
                      }
                    ]
                  }
                ]
              },
              {
                "groupName": "Bank fees",
                "groupDetails": [
                  {
                    "maxAmount": 4999.99,
                    "feesInfo": [
                      {
                        "description": "Bank fees - tier 1 - $5,000,000 - $9,999,999",
                        "value": 50,
                        "unit": "basisPoints",
                        "frequency": "One-Off"
                      }
                    ]
                  },
                  {
                    "minAmount": 5000,
                    "maxAmount": 999999.99,
                    "feesInfo": [
                      {
                        "description": "Bank fees - tier 2 - $10,000,000+",
                        "value": 25,
                        "unit": "basisPoints",
                        "frequency": "One-Off"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          "commonFees": {
            "performanceFees": {
              "hurdleRate": 1,
              "highWatermark": {
                "enabled": true,
                "frequency": "Quarterly"
              },
              "grossOrNet": "Net",
              "fees": [
                {
                  "description": "The performance fee details during the IP period",
                  "value": 1,
                  "unit": "percentage",
                  "frequency": "Annually"
                },
                {
                  "description": "Some other description about the fee structure in the Post-IP period",
                  "value": 0.5,
                  "unit": "basisPoints",
                  "frequency": "Semi-Annually"
                }
              ]
            }
          }
        }
      },
      "campaignCompletedDate": "2024-09-12T00:00:00.000Z",
      "restricted": false,
      "parentSecurityId": "USCCWSF01I01",
      "exclusivityType": "private",
      "status": "active",
      "shareClassOptions": {
        "description": "This share class is offered to brokerage accounts",
        "accountEligibility": "Brokerage"
      },
      "accountId": "US9QIMAOAS1Q",
      "organization": {
        "orgId": "TEST1234",
        "name": "Test Organization"
      },
      "deploymentStatus": "success",
      "name": "Test Security",
      "shortName": "Test Sec",
      "externalIdentifiers": {
        "isin": "US1234567890",
        "cusip": "US1234567890",
        "ticker": "US1234567890"
      },
      "settings": {
        "bankAccount": {
          "bankABA": "979384247",
          "bankName": "Test Bank",
          "accountName": "Test U.S. Real Estate Fund II Access Fund, L.P.",
          "accountNumber": "457349587349587"
        }
      }
    },
    "signerData": {
      "email": "[email protected]",
      "name": "John Doe"
    },
    "extraData": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "organization": {
      "name": "Test Organization",
      "orgId": "TEST1234"
    }
  }
]

AM/FA/Inv - Get Asset Details

Details

/external/v1/asset

Synopsis

Get Asset Details

get

This route is used to retrieve the details of assets, given a set of search filters.

This endpoint is paginated, up to 500 records can be retrieved per call.

This endpoint can be called by applications with access to scope "readSubscription".

Authorizations
Query parameters
pageSizenumberOptional

The number of rows being retrieved. Must be a positive integer.

offsetnumberOptional

The offset (i.e. row start index). Must be a positive integer (or 0).

assetStatusFilterstringOptional

The comma delimited list of statuses to filter the asset records. Up to 27 entries can be provided. Available values: deleted, preSynced, created, modified, confirmed, settlement_confirmation_pending, settled, issued, busted, canceled, disposed, recalled, remediated, remediation_pending, locked, trade_proposed, in_trade, in_trade_pending, in_transfer, in_transfer_pending, restricted, retired, refunded, in_tender, in_tender_pending, template, locked_for_redemption

Example: created,settled
securityIdsFilterstringOptional

The comma delimited list of security ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

The comma delimited list of security correlation ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
assetIdsFilterstringOptional

The comma delimited list of asset ids to filter the asset records. Up to 500 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
assetCorrelationIdsFilterstringOptional

The comma delimited list of asset correlation ids to filter the asset records. Up to 50 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
accountIdsFilterstringOptional

The comma delimited list of account ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
accountCorrelationIdsFilterstringOptional

The comma delimited list of account correlation ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
securityCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "securityCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

accountCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "accountCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

assetCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "assetCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

modelAssetIdsFilterstringOptional

The comma delimited list of model asset ids to filter the asset records. Up to 500 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
investorIdsFilterstringOptional

The comma delimited list of investor ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
investorCorrelationIdsFilterstringOptional

The comma delimited list of investor correlation ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
investorCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "investorCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

closeIdsFilterstringOptional

The comma delimited list of close ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 12 characters.

Example: USCCWSF01I00,USCCWSF01I01
closeCorrelationIdsFilterstringOptional

The comma delimited list of close correlation ids to filter the asset records. Up to 10 records can be provided. Each record should not exceed 100 characters.

Example: 1234,5678,7890
closeCorrelationOrgIdstring · max: 12Optional

The organization identifier linked to the correlation ids provided in the "closeCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.

Responses
200
Successfully retrieved asset details
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/asset HTTP/1.1
Host: 
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "extraData": {
      "externalId": "123456789",
      "some": "Custom Property"
    },
    "assetId": "US9QIMAOAS1Q",
    "modelAssetId": "USS3JKS01I00",
    "securityId": "USCCWSF01I00",
    "closeId": "USCCWSF01I00",
    "accountId": "US9QIMAOAS1Q",
    "acquiredDate": "2024-09-12T00:00:00.000Z",
    "disposedDate": "2024-09-12T00:00:00.000Z",
    "acquiredPrice": 100,
    "disposedPrice": 200,
    "issuedDate": "2024-09-12T00:00:00.000Z",
    "amount": 1000,
    "sharesNumber": 1000,
    "commission": 1000,
    "currentValue": 1200,
    "redemptionAmount": 500,
    "remediationProposal": {
      "amount": 500
    },
    "tenderProposal": {
      "sharesNumberSubmitted": 500,
      "sharesNumberAccepted": 500,
      "tradeId": "TEST1234"
    },
    "capitalCallDetails": {
      "calledAmount": 300000,
      "calledAmountOutsideCommitment": 5000,
      "distributedAmount": 10000,
      "enabled": true
    },
    "status": "issued",
    "shouldReinvest": false,
    "customCostBasis": false,
    "customCostBasisValue": 100,
    "completedByAdvisorId": "text",
    "subDocSignDate": "2024-09-12T00:00:00.000Z",
    "originatingTradeId": 345023,
    "fileIds": [
      "US9QIFILE1",
      "US9QIFILE2"
    ],
    "rejectReason": {
      "reason": [
        {
          "message": "reject reason",
          "category": "EC006",
          "documentWithIssues": [
            {
              "document": {
                "fileId": "FILE3JUS03I04"
              },
              "pages": [
                {
                  "pageNumber": 1,
                  "description": "The first page has an invalid signature"
                }
              ]
            }
          ]
        }
      ],
      "extraData": {
        "externalId": "123456789",
        "some": "Custom Property"
      }
    },
    "bookingModel": "fullyDisclosedFBO",
    "underlyingInvestorAccountId": "US9QIMAOAC3F",
    "fees": {
      "frontendFee": 1,
      "backendFee": 0,
      "managementFees": [
        {
          "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
          "value": 2,
          "unit": "percentage",
          "frequency": "Annually"
        },
        {
          "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
          "value": 1.5,
          "unit": "percentage",
          "frequency": "Annually"
        }
      ],
      "investorServicingFees": [
        {
          "description": "IP: annually of capital commitments | 6 years from the date of initial investment",
          "value": 3,
          "unit": "percentage",
          "frequency": "Annually"
        },
        {
          "description": "Post-IP: annually on invested capital (remaining cost) | 11 years from the initial investment with 2 one-year extension options",
          "value": 2.5,
          "unit": "percentage",
          "frequency": "Annually"
        }
      ],
      "otherFees": [
        {
          "groupName": "Global fees",
          "groupDetails": [
            {
              "description": "Some global fee",
              "value": 75,
              "unit": "basisPoints",
              "frequency": "One-Off"
            }
          ]
        },
        {
          "groupName": "Bank fees",
          "groupDetails": [
            {
              "description": "Bank fees - tier 1 - $5,000,000 - $9,999,999",
              "value": 50,
              "unit": "basisPoints",
              "frequency": "One-Off"
            }
          ]
        }
      ]
    },
    "type": "standard",
    "inputIds": [
      "US9QIMAOAS1Q"
    ],
    "organization": {
      "orgId": "TEST1234",
      "name": "Test Organization"
    },
    "correlationData": [
      {
        "correlationId": "123245573717",
        "origin": "Identifies security on backoffice",
        "organization": {
          "name": "Test Organization",
          "orgId": "TEST1234"
        },
        "extraData": {
          "some": "Custom Property"
        }
      }
    ],
    "ownerName": "<WeInvest Inc.> fbo \"John Doe, Jane Doe\"",
    "locked": false,
    "latestUpdateTimestamp": "2024-09-12T00:00:00.000Z"
  }
]