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...
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.
Initial Investments (Drawdown Vehicles)
Initial Investments (All Other Vehicles)
Mapping Your IDs to Corastone IDs
Testing a Subscription Request
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.
The following list summarizes the endpoints required to support the fund/offering life cycle:
Request Digital Asset Remediation
Add Issuance Close Correlation ID
Remove Issuance Close Correlation ID
Get Security Correlation IDs History
Get Asset Correlation IDs History
Get File Correlation IDs History
Get Issuance Close Correlation IDs History
Throughout the API flows, an asset represents multiple shares, or a lot, of a given security.
/external/v1/primary/asset/{assetId}/remediate
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.
\
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.
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.
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.
/external/v1/primary/batch-mark-wired
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.
/external/v1/primary/{assetId}/reject
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.
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.
/external/v1/primary/batch-mark-settled
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.
/external/v1/primary/asset/{assetId}/decline
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.
\
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.
/external/v1/primary/asset/{assetId}/dispose
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.
\
Use a correlation ID to associate external identifiers with platform IDs. An asset represents multiple shares, or a lot, of a given security.
/external/v1/asset/{assetId}/correlation-id/add
A correlation ID associates an external identifier with a platform ID. An asset represents multiple shares, or a lot, of a given security.
/external/v1/asset/{assetId}/correlation-id/remove
Use a correlation ID to associate external identifiers with platform IDs.
/external/v1/issuance-close/{closeId}/correlation-id/add
Use a correlation ID to associate external identifiers with platform IDs.
/external/v1/file/{fileId}/correlation-id/add
Throughout the API flows, an asset represents multiple shares, or a lot, of a given security.
/external/v1/primary/asset/{assetId}/request-remediation
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.
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.
/external/v1/primary/asset/{assetId}/cancel
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.
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.
/external/v1/primary/asset/{assetId}/recall
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.
\
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.
/external/v1/primary/asset/{assetId}/recall/reject
A correlation ID associates an external identifiers with a platform ID.
/external/v1/issuance-close/{closeId}/correlation-id/remove
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the reason for the rejection.
{"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"}}
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"
}
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".
This property contains the reference data of the account that holds the digital security.
{"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"}}}
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","amount":50000,"signer":{"email":"[email protected]","name":"John Doe"}}
Set this to true if you want to bypass file data consistency (e.g. W9 data matching the investor/account information being provided)
true
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.
false
Example: true
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
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
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".
This property contains the transactional data information, i.e. the security id to which all the asset ids in the list belong to
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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
["USS3JKS01I00","US9QIMAOAS1Q"]
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the reason for the rejection.
{"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"}}
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"
}
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".
This property contains the transactional data information, i.e. the security id to which all the asset ids in the list belong to
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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
["USS3JKS01I00","US9QIMAOAS1Q"]
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"
}
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".
This property contains the transactional data information, i.e. which is the security where the close is being run
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the close data (e.g. issue price, date)
{"priceData":[{"price":10.23,"asOfDate":"2024-09-12T00:00:00.000Z","bypassNAVCheck":true}],"issueDate":"2024-09-12T00:00:00.000Z"}
This is the booked unique identifier of the close. It is optional. If not provided, a new unique identifier will be generated.
USS3JKS01I00
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"
}
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".
The type of file
Tax
Possible values: Represents the uploaded file via multipart/form-data. This endpoint supports chunked transfer encoding.
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"
}
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
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
active,closed
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
equity,llcUnitShares
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
}
]
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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"
}
}
}
]
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".
This property contains the transactional data information, i.e. the security id to which all the asset ids in the list belong to
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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
["USS3JKS01I00","US9QIMAOAS1Q"]
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
2024-09-12T00:00:00.000Z
Date-time string
2024-09-12T00:00:00.000Z
Date string
1980-01-01
Epoch timestamp (milliseconds)
1185106460000
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
Externally provided id that uniquely identifies an entity within an organization.
123245573717
This property defines if correlation information will be sent to all counterparties.
false
Example: true
The organization origin system that created this entity correlation id
Backoffice-system-123
This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
Externally provided id that uniquely identifies an entity within an organization.
123245573717
This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
}
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".
The unique identifier of the issuance close on the ledger
US9QIMAOAS1Q
Externally provided id that uniquely identifies an entity within an organization.
123245573717
This property defines if correlation information will be sent to all counterparties.
false
Example: true
The organization origin system that created this entity correlation id
Backoffice-system-123
This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
}
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".
The unique identifier of the file on the blockchain
USS3JKS01I00
Externally provided id that uniquely identifies an entity within an organization.
123245573717
This property defines if correlation information will be sent to all counterparties.
false
Example: true
The organization origin system that created this entity correlation id
Backoffice-system-123
This property contains the information regarding who is signing the transaction on the blockchain as well as how it will be signed
{"signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
}
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
True if a file download Link is meant to be generated. It is optional
true
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"
]
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
}
]
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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
Created,Modified
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
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"
}
}
]
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".
The unique identifier of the file on the blockchain
USS3JKS01I00
Externally provided id that uniquely identifies an entity within an organization.
123245573717
This property contains the information regarding who is signing the transaction on the blockchain as well as how it will be signed
{"signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
}
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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"
}
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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"
}
}
}
]
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the reason for the rejection.
{"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"}}
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
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".
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.
US9QIMAOAS1Q
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.
true
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".
US9QI
This property contains the transactional data information, i.e. which is the security being bought and the investment details
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
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.
USCCWSF01I00,USCCWSF01I01
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
created,created
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"
}
]
}
]
}
]
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The comma delimited list of statuses to filter the close records. Up to 3 entries can be provided. Available values: preSync, deleted, created
created,deleted
The start date from which the closes are to be retrieved.
The end date until which the closes are to be retrieved.
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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.
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"
}
}
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".
The unique identifier of the issuance close on the ledger
US9QIMAOAS1Q
Externally provided id that uniquely identifies an entity within an organization.
123245573717
This property contains the transactional data information, i.e. which is the security where we are adding a correlation id to a entity
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
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"
}
}
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of close correlation ids to filter the close records. Each record should not exceed 100 characters.
1234,5678,7890
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.
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"
}
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
The block number where the action was recorded on the ledger.
350
The transaction id where the action was recorded on the ledger.
456789OIJHGFCVGHJKLKJHGF67JH
Pattern: ^[a-zA-Z0-9-]*$
The name of the channel where the action was recorded on the ledger.
OG123
Pattern: ^[a-zA-Z0-9-]*$
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
}
]
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".
The number of rows being retrieved. Must be a positive integer.
The offset (i.e. row start index). Must be a positive integer (or 0).
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
created,settled
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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.
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.
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.
USCCWSF01I00,USCCWSF01I01
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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.
USCCWSF01I00,USCCWSF01I01
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.
1234,5678,7890
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.
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"
}
]