Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The Integration API includes methods for retrieving details about the investors and accounts associated with transactions. Detail retrieval can be based on any of the following keys:
ID
correlation ID
extra data key
The ID is the unique identifier for the account or investor.
The correlation ID is a unique identifier specific to the organization.
The extra data key is a key/value pair that can be included in the details of accounts and investors for use as a filter.
Mapping Your IDs to Corastone IDs
Collecting Data Using Questionnaires
Update Investor's Reference Data
Remove Investor Correlation ID
Get Investor Correlation IDs History
Get Account Correlation IDs History
/external/v1/account/{accountId}
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
Returns a series of updates that make up the history of the identified investor.
Returns a series of account changes recorded on the blockchain.
/external/v1/investor/{investorId}
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
This route is used to update account's reference data.
Should be called by the organization that created specified account record.
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 called by applications with access to scope "manageReferenceData".
The unique identifier of the account on the blockchain
USS3JKS01I00
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"}}
This property contains the reference data of the account that holds a digital security.
{"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 encryptions"}}
PUT /external/v1/account/{accountId} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1338
{
"transactionData": {
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"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 encryptions"
}
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to retrieve the details of accounts, 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 "readAccount".
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 key to search within the extraData property. Will be used in combination with "extraDataValueFilter". If "extraDataValueFilter" is not provided then this property is discarded.
The value to search within the extraData property. Will be used in combination with "extraDataKeyFilter". If "extraDataKeyFilter" is not provided then this property is discarded.
The comma delimited list of account ids to filter the account records. Up to 25 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of account correlation ids to filter the account 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 "accountCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
The comma delimited list of investor ids to filter the account 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 account 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.
GET /external/v1/account HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"extraData": {
"externalId": "123456789",
"some": "Custom Property"
},
"secureExtraData": {
"some": "Sensitive Data"
},
"name": "text",
"bankAccount": {
"accountId": "111111111",
"accountName": "savings account",
"bankABA": "555555555",
"bankName": "Test Bank",
"bankSwift": "AAAA-BB-CC-123"
},
"contactInfo": [
{
"email": "[email protected]",
"phoneNumber": "832-426-4242"
}
],
"benefitPlanInvestor": true,
"type": "Individual",
"subType": "Individual",
"additionalTypeInfo": "LLCPartnership",
"relationshipType": "Brokerage",
"authorizedSigners": [
{
"name": "John Doe",
"primary": true,
"extraData": {
"externalId": "12345"
}
}
],
"beneficiaries": [
{
"name": "John Doe",
"beneficialOwnership": 40,
"individualInfo": {
"name": "John Doe",
"taxId": "123456789"
}
},
{
"name": "Jane Doe LLC",
"beneficialOwnership": 60,
"legalEntityInfo": {
"name": "Jane Doe LLC",
"type": "LLC",
"taxId": "987654321"
}
}
],
"questionnaires": [
{
"type": "AccreditedInvestor",
"title": "US Accredited Investor Questionnaire",
"questions": [
{
"question": {
"questionId": "q1",
"questionText": "Are you an accredited investor as defined by the SEC?",
"answerType": "Boolean"
},
"answers": [
{
"booleanValue": true
}
]
},
{
"question": {
"questionId": "q2",
"questionText": "Please select the criteria under which you qualify as an accredited investor.",
"answerType": "Choice",
"allowedAnswerValues": [
"Income exceeding $200,000 in each of the two most recent years",
"Net worth exceeding $1 million",
"Other criteria as defined by the SEC"
]
},
"answers": [
{
"choiceValue": "Net worth exceeding $1 million"
}
]
},
{
"question": {
"questionId": "q3",
"questionText": "Please provide any additional information or comments.",
"answerType": "Text"
},
"answers": [
{
"textValue": "No additional comments."
}
]
}
]
}
],
"custodian": {
"custodianId": "US1W12QDRJ9O"
},
"advisors": [
{
"advisorId": "US1W1V3RQK3X"
}
],
"accountId": "TEST1234",
"associatedInvestors": [
{
"investorId": "ORG1X123456",
"isPrimaryHolder": false
}
],
"organization": {
"orgId": "TEST1234",
"name": "Test Organization"
},
"status": "sync",
"correlationData": [
{
"correlationId": "123245573717",
"origin": "Identifies account on backoffice",
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
},
"extraData": {
"some": "Custom Property"
}
}
]
}
]
This route is used to retrieve the history data entries of investor correlation ids given a set of filters such as blockchain details.
The history entries will reflect the state of the investor 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 investor ids to filter the investor records. Up to 25 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of investor correlation ids to filter the investor 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 "investorCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/investor/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 investors given a set of filters such as blockchain details or investor identifiers.
The history entries will reflect the state of the investors 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 "readInvestor".
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 investor ids to filter the investor records. Up to 25 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of investor correlation ids to filter the investor 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 "investorCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/investor/history HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"timestamp": "2024-09-12T00:00:00.000Z",
"blockNumber": 350,
"transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
"channelName": "OG123",
"hash": "$argon2id$v=19$m=4096,t=3,p=1$8AVpNOnlBvN/reiv7Rdkpw$lzXOuG0H4SibMa0elrEZ5sq3YAvdu+Y5L+ta0oSSMTg",
"update": {
"investorId": "TEST123345",
"type": "individual",
"accreditationLevel": "qualifiedClient",
"isInstitutional": false,
"hasKYCPassed": false,
"isComplianceApproved": false,
"is5131RestrictedPerson": false,
"name": "John Doe",
"individualInfo": {
"name": "John Doe",
"dateOfBirth": "1984-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"
},
"isUsPerson": true,
"contactInfo": [
{
"email": "[email protected]",
"phoneNumber": "832-426-4242"
}
],
"extraData": {
"externalInvestorId": "123456",
"some": "other property"
}
},
"organization": {
"orgId": "TEST1234",
"name": "Test Organization"
}
},
"signerData": {
"email": "[email protected]",
"name": "John Doe"
},
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
}
}
]
This route is used to add a correlation ID to an existing investor. This correlation ID is an externally provided id that uniquely identifies the investor within the organization making this call.
This correlation ID can't be in use by another investor. This correlation ID can be broadcast to all the counterparties that have access to this investor 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 investor 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/investor/{investorId}/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 remove a correlation ID from an existing investor. This correlation ID is an externally provided id that uniquely identifies the investor within the organization making this call.
This correlation ID should be in use by the investor involved in this call.
This action can be broadcast to all the counterparties that have access to this investor 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 investor 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/investor/{investorId}/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 account correlation ids given a set of filters such as blockchain details or account identifiers..
The history entries will reflect the state of the account correlation ids on that particular block.
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 account ids to filter the account records. Up to 25 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of account correlation ids to filter the account 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 "accountCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/account/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 accounts given a set of filters such as blockchain details or account identifiers.
This endpoint returns paginated data. Up to 25 can be extracted per call.
This endpoint can be called by applications with access to scope "readAccount".
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 account ids to filter the account records. Up to 25 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of account correlation ids to filter the account 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 "accountCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/account/history HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"timestamp": "2024-09-12T00:00:00.000Z",
"blockNumber": 350,
"transactionId": "456789OIJHGFCVGHJKLKJHGF67JH",
"channelName": "OG123",
"hash": "$argon2id$v=19$m=4096,t=3,p=1$8AVpNOnlBvN/reiv7Rdkpw$lzXOuG0H4SibMa0elrEZ5sq3YAvdu+Y5L+ta0oSSMTg",
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
},
"update": {
"accountId": "US9QIMAOAS1Q",
"name": "Individual Account",
"type": "Individual",
"subType": "Individual",
"relationshipType": "Brokerage",
"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": {
"custodianId": "US1W12QDRJ9O"
},
"advisors": [
{
"advisorId": "US1W1V3RQK3X"
}
],
"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"
}
}
],
"authorizedSigners": [
{
"name": "Jane Doe",
"primary": true
}
],
"bankAccount": {
"accountNumber": "111111111",
"accountName": "savings account",
"bankABA": "555555555",
"bankName": "Test Bank",
"bankSwift": "AAAA-BB-CC-123"
},
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
}
},
"signerData": {
"email": "[email protected]",
"name": "John Doe"
}
}
]
This route is used to update investor's reference data.
Should be called by the organization that created specified investor record.
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 called by applications with access to scope "manageReferenceData".
The unique identifier of the investor on the blockchain
USS3JKS01I00
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"}}
This property contains the investor reference data information.
{"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"}}}
PUT /external/v1/investor/{investorId} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 903
{
"transactionData": {
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"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"
}
}
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to add a correlation ID to an existing account. This correlation ID is an externally provided id that uniquely identifies the account within the organization making this call.
This correlation ID can't be in use by another account. This correlation ID can be broadcast to all the counterparties that have access to this account 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 account 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/account/{accountId}/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 remove a correlation ID from an existing investor. This correlation ID is an externally provided id that uniquely identifies the investor within the organization making this call.
This correlation ID should be in use by the investor involved in this call.
This action can be broadcast to all the counterparties that have access to this investor 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 investor 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/investor/{investorId}/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 details of investors, 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 "readInvestor".
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 key to search within the extraData property. Will be used in combination with "extraDataValueFilter". If "extraDataValueFilter" is not provided then this property is discarded.
The value to search within the extraData property. Will be used in combination with "extraDataKeyFilter". If "extraDataKeyFilter" is not provided then this property is discarded.
The comma delimited list of investor ids to filter the investor records. Up to 25 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of investor correlation ids to filter the investor 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 "investorCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/investor HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"extraData": {
"externalId": "123456789",
"some": "Custom Property"
},
"secureExtraData": {
"some": "Sensitive Data"
},
"type": "individual",
"accreditationLevel": "selfAccredited",
"isInstitutional": false,
"hasKYCPassed": false,
"isComplianceApproved": false,
"is5131RestrictedPerson": false,
"name": "text",
"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"
}
]
},
"legalEntityInfo": {
"name": "Test Legal Entity",
"incorporationDate": "2024-09-12",
"taxId": "123456789",
"gIIN": "987654321",
"isGovernmentEntity": true,
"isSubjectToERISA": false,
"address": {
"addressLineOne": "8 Greenway Plaza",
"addressLineTwo": "Suite 1515",
"country": "US",
"state": "Texas",
"city": "Houston",
"zipCode": "77046 USA"
},
"contactInfo": [
{
"email": "[email protected]",
"phoneNumber": "832-426-4242"
}
],
"isUsEntity": true,
"domicileCountry": "US",
"jurisdictionCountry": "US",
"type": "LP"
},
"FATCAInfo": {
"fatcaId": "FATCA-123",
"classification": "FATCA-CLASSIFICATION",
"status": "FATCA-STATUS",
"reportCode": "FATCA-EXEMPT",
"reportedDate": "2024-09-12"
},
"formPFData": [
{
"type": "unitedStatesPersons",
"description": "A description of the investor type"
}
],
"questionnaires": [
{
"type": "AccreditedInvestor",
"title": "US Accredited Investor Questionnaire",
"questions": [
{
"question": {
"questionId": "q1",
"questionText": "Are you an accredited investor as defined by the SEC?",
"answerType": "Boolean"
},
"answers": [
{
"booleanValue": true
}
]
},
{
"question": {
"questionId": "q2",
"questionText": "Please select the criteria under which you qualify as an accredited investor.",
"answerType": "Choice",
"allowedAnswerValues": [
"Income exceeding $200,000 in each of the two most recent years",
"Net worth exceeding $1 million",
"Other criteria as defined by the SEC"
]
},
"answers": [
{
"choiceValue": "Net worth exceeding $1 million"
}
]
},
{
"question": {
"questionId": "q3",
"questionText": "Please provide any additional information or comments.",
"answerType": "Text"
},
"answers": [
{
"textValue": "No additional comments."
}
]
}
]
}
],
"politicalExposedPerson": {
"isPoliticalExposed": true,
"name": "John Doe",
"governmentCountry": "US",
"position": "President",
"relationship": "Father"
},
"taxInfo": {
"status": "individual",
"isUsPerson": true,
"isTaxExempt": false,
"taxJurisdiction": {
"country": "US",
"state": "Texas"
},
"taxExemptionCode": "501(c)(3)",
"taxExemptionCodeDetails": "Some details",
"entityClassification": {
"foundationInfo": {
"isPrivateFoundation": true
}
},
"ultimateOwnershipDetails": {
"status": "complexTrust",
"isUsPerson": true,
"isTaxExempt": false,
"taxJurisdiction": {
"country": "US",
"state": "Texas"
},
"taxExemptionCode": "501(c)(3)",
"taxExemptionCodeDetails": "Some details",
"entityClassification": {
"foundationInfo": {
"isPrivateFoundation": true
}
}
}
},
"investorId": "text",
"organization": {
"orgId": "TEST1234",
"name": "Test Organization"
},
"status": "sync",
"fileIds": [
"US9QIFILE1",
"US9QIFILE2"
],
"correlationData": [
{
"correlationId": "123245573717",
"origin": "Identifies investor on backoffice",
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
},
"extraData": {
"some": "Custom Property"
}
}
]
}
]