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...
/external/v1/tender-offers/{tenderOfferId}/requests
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
/external/v1/tender-offers/{tenderOfferId}/reject
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
/external/v1/tender-offers/{tenderOfferId}/request/{tradeId}/cancel
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
The Corastone platform supports redemption of shares via buyback (tender offer redemption). A tender offer is initiated by the asset manager or fund administrator.
Mapping Your IDs to Corastone IDs
The following list summarizes the primary endpoints required to support the tender offer life cycle:
Add Tender Offer Correlation ID
Remove Tender Offer Correlation ID
Add Tender Request Correlation ID
Remove Tender Request Correlation ID
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
US9QIMAOAS1Q
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",
"fileIds": [
"US9QIFILE1",
"US9QIFILE2"
],
"referenceData": {
"account": {
"accountId": "US9QIMAOAS1Q",
"custodian": {
"custodianId": "US9ZIMAOAS1Q"
}
},
"investors": [
{
"investorId": "US9QIM123S1Q"
}
]
},
"completedByAdvisor": {
"advisorId": "OG12JUS03I04"
},
"dryRun": true
}
/external/v1/tender-offers/{tenderOfferId}/price/approve
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
/external/v1/tender-offers/start
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
\
/external/v1/tender-offers/{tenderOfferId}/price
Tender offer must be closed.
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
/external/v1/tender-offers/{tenderOfferId)/cancel
See Blockchain Transaction Tracking for information on using orchestrationId and processId.
This route is used to create a tender request by an investor organization with access to sell the assets in issued state.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer 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 "manageTenderRequest".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains the transactional data information, i.e. which is the security where the tender trade request is being created
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This is the booked unique identifier of the tender request. It is optional. If not provided, a new unique identifier will be generated.
USS3JKS01I00
POST /external/v1/tender-offers/{tenderOfferId}/requests HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 419
{
"transactionData": {
"securityId": "USS3JKS01I00",
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"input": [
{
"assetId": "TEST1234",
"sharesNumber": 50.1234
},
{
"assetId": "TEST5678",
"sharesNumber": 200.987566
}
],
"correlationData": [
{
"broadcastToCounterparty": true,
"correlationId": "123245573717",
"origin": "Identifies tender request on backoffice",
"extraData": {
"some": "Custom Property"
}
}
],
"bookedTradeId": "USS3JKS01I00"
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"tenderOfferId": "US9QIMAOAS1Q",
"tradeId": "TR9QIMAOAS1Q"
}
This route is used to trigger rejection of the tender offer.
This is to be used when an asset manager that owns this security has a fund admin assigned to this security and one of them has already approved the tender offer on the ledger.
This will move the tender offer back to draft and its details can be updated.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/reject HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to trigger an update of a tender offer that is still in "draft" status.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["draft"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains the transactional data information, i.e. which is the security where the tender offer is being updated
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the tender offer data
{"startDate":"2024-09-12T00:00:00.000Z","cutOffDate":"2024-09-12T00:00:00.000Z","closeDate":"2024-09-12T00:00:00.000Z","settlementDate":"2024-09-12T00:00:00.000Z"}
PUT /external/v1/tender-offers/{tenderOfferId} HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 291
{
"transactionData": {
"securityId": "USS3JKS01I00",
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"tenderOfferData": {
"startDate": "2024-09-12T00:00:00.000Z",
"cutOffDate": "2024-09-12T00:00:00.000Z",
"closeDate": "2024-09-12T00:00:00.000Z",
"settlementDate": "2024-09-12T00:00:00.000Z"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to trigger apply tender offer price to all tender requests.
This can be invoked after the price is approved or on the ledger.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["price_approved"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains the transactional data information, i.e. which is the security where the tender offer action is to take place
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
PUT /external/v1/tender-offers/{tenderOfferId}/price/apply HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 255
{
"transactionData": {
"securityId": "USS3JKS01I00",
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"tradesApplyData": [
{
"tradeId": "US9QITROAS3A",
"acceptedSharesNumber": 5000,
"inputAssets": [
{
"assetId": "US9QIMAOAS1Q",
"acceptedSharesNumber": 5000
}
]
}
]
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to remove a correlation ID from an existing tender request. This correlation ID is an externally provided id that uniquely identifies the tender request within the organization making this call.
This correlation ID should be in use by the tender request involved in this call.
This action can be broadcast to all the counterparties that have access to this tender request.
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 tender request on the blockchain
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/tender-offers/requests/{tradeId}/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 retrieve the history data entries of tender offer correlation ids given a set of filters such as blockchain details.
The history entries will reflect the state of the Tender Offer 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/tender-offers/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 remove a correlation ID from an existing tender offer. This correlation ID is an externally provided id that uniquely identifies the tender offer within the organization making this call.
This correlation ID should be in use by the tender offer involved in this call.
This action can be broadcast to all the counterparties that have access to this tender offer.
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 tender offer on the blockchain
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/tender-offers/{tenderOfferId}/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 cancel a tender request. This action can only be performed by the investor organization that submitted it in the first place.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["active","closed"].
This endpoint can be invoked if the tender request is in one of the following statuses: ["proposed"].
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 "manageTenderRequest".
The id that uniquely identifies the tender request on the ledger. It is the output of the create tender request endpoint.
TRADE123
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/requests/{tradeId}/cancel HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to retrieve the history data entries of tender request correlation ids given a set of filters such as blockchain details.
The history entries will reflect the state of the tender request 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/tender-offers/requests/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 details of tender offers, given a set of search filters.
This endpoint is paginated, up to 50 records can be retrieved per call.
This endpoint can be called by applications with access to scope "readTenderOffer".
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 tender offer records. Up to 14 entries can be provided. Available values: preSync, deleted, draft, pending, active, canceled, closing, closed, price_set, price_pending, price_approved, price_completed, settling, settled
active
The comma delimited list of security ids to filter the tender offer 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 tender offer records. Up to 10 records can be provided. Each record should not exceed 100 characters.
1234,5678,7890
The comma delimited list of tender offer ids to filter the tender offer records. Up to 50 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of tender offer correlation ids to filter the tender offer 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 "tenderOfferCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/tender-offers HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"extraData": {
"externalId": "123456789",
"some": "Custom Property"
},
"tenderOfferId": "TEST1234",
"startDate": "2024-09-12T00:00:00.000Z",
"cutOffDate": "2024-09-12T00:00:00.000Z",
"closeDate": "2024-09-12T00:00:00.000Z",
"settlementDate": "2024-09-12T00:00:00.000Z",
"status": "draft",
"totalSharesNumberAccepted": 100000,
"totalSharesNumberSubmitted": 100000,
"priceClosed": 10,
"restricted": false,
"ratio": 1,
"shareClassesData": [
{
"securityId": "USS3JKS01I0A",
"totalSharesNumberSubmitted": 10,
"totalSharesNumberAccepted": 10,
"priceClosed": 20
}
],
"accountId": "US9QIMAOAS1Q",
"securityId": "USS3JKS01I00",
"correlationData": [
{
"correlationId": "123245573717",
"origin": "Identifies tender offer on backoffice",
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
},
"extraData": {
"some": "Custom Property"
}
}
],
"organization": {
"orgId": "TEST1234",
"name": "Test Organization"
}
}
]
This route is used to close a tender offer on the blockchain for a particular security.
It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.
Once this is committed on the ledger, no further tender requests can be submitted by investing organizations to this tender offer.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["active","closing","closed"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/close HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to add a correlation ID to an existing tender request. This correlation ID is an externally provided id that uniquely identifies the tender request within the organization making this call.
This correlation ID can't be in use by another tender request. This correlation ID can be broadcast to all the counterparties that have access to this tender request.
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 tender request on the blockchain
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/tender-offers/requests/{tradeId}/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 retrieve the history data entries of tender requests given a set of filters such as blockchain details or asset identifiers.
The history entries will reflect the state of the tender requests on a particular block on the ledger.
This endpoint returns paginated data. Up to 250 can be extracted per call.
This endpoint can be called by applications with access to scope "readTenderRequest".
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 tender trade ids to filter the tender request history records. Up to 250 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of tender trade correlation ids to filter the tender request history 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 "tradeCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/tender-offers/requests/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": "tenderOpened",
"update": {
"tradeId": "TEST1234",
"securityId": "USS3JKS01I00",
"tenderOfferId": "USS3JKS01I99",
"type": "tender",
"status": "proposed",
"amount": 100000,
"price": 100,
"restricted": false,
"postedDate": "2024-09-12T00:00:00.000Z",
"effectiveDate": "2024-09-12T00:00:00.000Z",
"sellerAccountId": "US9QIMAOAS1Q",
"buyerAccountId": "US9QIMAOAS1Q",
"outputAssetId": "TEST1234",
"inputAssetIds": [
"TEST1234",
"TEST5678"
],
"organization": {
"orgId": "XXXXXXXX",
"name": "Test Organization"
},
"extraData": {
"customField": "Custom value"
}
}
}
]
This route is used to trigger the process to approve the tender offer price and total number of shares accepted.
It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.
For self-managed funds (i.e. securities without any assigned fund admin) tender offer will be moved to the 'price_approved' state after the first call.
If the asset manager that owns this security has a fund admin assigned to this offering, then both organizations need to call this endpoint one after the other.
The first organization that calls this will move the tender offer to 'price_pending". After the second approval the tender offer will be moved to the 'price_approved' state and the process to apply the close price to all tender requests is triggered.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["price_set","price_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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/price/approve HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to retrieve the history data entries of tender offers given a set of filters such as blockchain details or tender offer identifiers.
The history entries will reflect the state of the tender offers on a particular block on the ledger.
This endpoint returns paginated data. Up to 50 can be extracted per call.
This endpoint can be called by applications with access to scope "readTenderOffer".
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 tender offer ids to filter the tender offer history records. Up to 50 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01
The comma delimited list of tender offer correlation ids to filter the tender offer history 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 "tenderOfferCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
GET /external/v1/tender-offers/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": {
"tenderOfferId": "TEST1234",
"startDate": "2024-09-12T00:00:00.000Z",
"cutOffDate": "2024-09-12T00:00:00.000Z",
"closeDate": "2024-09-12T00:00:00.000Z",
"settlementDate": "2024-09-12T00:00:00.000Z",
"status": "active",
"totalSharesNumberAccepted": 100000,
"totalSharesNumberSubmitted": 100000,
"priceClosed": 100,
"shareClassesData": [
{
"securityId": "USS3JKS01I0A",
"totalSharesNumberAccepted": 10,
"priceClosed": 20
},
{
"securityId": "USS3JKS01I0B",
"totalSharesNumberAccepted": 20,
"priceClosed": 20
}
],
"accountId": "US9QIMAOAS1Q",
"securityId": "USS3JKS01I00"
}
}
]
This route is used to trigger the settlement of the tender offer. It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.
This can be called either by the issuer organization that owns the security or by an assigned fund administrator to signal that all payments have been performed.
This is the last step of the tender offer lifecycle.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["price_completed","settling"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/settle HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to trigger approval of the tender offer.
If the asset manager that owns this security does not have any fund admins assigned to this offering, then once this call is completed the tender offer will be marked as active on the ledger.
If the asset manager that owns this security has a fund admin then both organizations need to call this endpoint one after the other to mark this tender offer as active on the ledger.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["draft","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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/approve HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to reject a tender offer proposed price.
This is to be used when an asset manager that owns this security has a fund admin assigned to this security and one of them has already approved the tender offer price on the ledger.Once this is called, a new tender offer price can be submitted for approval using the "approve-price" endpoint.
This endpoint cannot be called by self-managed fund.
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","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["price_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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/price/reject HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to retrieve the details of tender requests, given a set of search filters.
This endpoint is paginated, up to 250 records can be retrieved per call.
This endpoint can be called by applications with access to scope "readTenderRequest".
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 tender request records. Up to 9 entries can be provided. Available values: preSync, active, proposed, matched, pending_settlement, canceled, closed, declined, deleted
active,canceled
The comma delimited list of tender trade ids to filter the tender request records. Up to 250 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of tender trade correlation ids to filter the tender request 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 "tenderOfferCorrelationIdsFilter" 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 "tradeCorrelationIdsFilter" property. If not provided the organization id will be inferred from the access token.
The comma delimited list of security ids to filter the tender offer 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 tender offer 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 comma delimited list of tender offer ids to filter the tender requests records. Up to 50 records can be provided. Each record should not exceed 12 characters.
USCCWSF01I00,USCCWSF01I01
The comma delimited list of tender offer correlation ids to filter the tender requests records. Up to 50 records can be provided. Each record should not exceed 100 characters.
1234,5678,7890
GET /external/v1/tender-offers/requests HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"extraData": {
"externalId": "123456789",
"some": "Custom Property"
},
"tradeId": "TEST1234",
"correlationData": [
{
"correlationId": "123245573717",
"origin": "Identifies tender request on backoffice",
"organization": {
"name": "Test Organization",
"orgId": "TEST1234"
},
"extraData": {
"some": "Custom Property"
}
}
],
"securityId": "USS3JKS01I00",
"tenderOfferId": "USS3JKS01I00",
"type": "tender",
"status": "proposed",
"amount": 100000,
"tenderProposal": {
"sharesNumberSubmitted": 500,
"sharesNumberAccepted": 500
},
"price": 10,
"restricted": false,
"postedDate": "2024-09-12T00:00:00.000Z",
"effectiveDate": "2024-09-12T00:00:00.000Z",
"expirationDate": "2024-09-12T00:00:00.000Z",
"sellerAccountId": "US9QIMAOAS1Q",
"buyerAccountId": "US9QIMAOAS1Q",
"outputAssetId": "TEST1234",
"inputAssetIds": [
"TEST1234",
"TEST5678"
],
"organization": {
"orgId": "TEST1234",
"name": "Test Organization"
}
}
]
This route is used to trigger complete tender offer price flow.
This can be invoked after the price was applied to all tender requests.
It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.
The tender offer will be moved to the 'price_completed' state on the ledger once the actions triggered by this endpoint are complete.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["price_approved"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/price/complete HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to add a correlation ID to an existing tender offer. This correlation ID is an externally provided id that uniquely identifies the tender offer within the organization making this call.
This correlation ID can't be in use by another tender offer. This correlation ID can be broadcast to all the counterparties that have access to this tender offer.
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 monitoredusing the "Transactions API" endpoints.
This endpoint can be called by applications with access to scope "manageReferenceData".
The unique identifier of the tender offer on the blockchain
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/tender-offers/{tenderOfferId}/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 trigger the creation of a tender offer on the blockchain for a particular security.
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","completed","approved_revert_to_active","closed"].
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 "manageTenderOffer".
This property contains the transactional data information, i.e. which is the security where the tender offer is being created
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the tender offer data
{"startDate":"2024-09-12T00:00:00.000Z","cutOffDate":"2024-09-12T00:00:00.000Z","closeDate":"2024-09-12T00:00:00.000Z","settlementDate":"2024-09-12T00:00:00.000Z"}
This is the booked unique identifier of the tender offer. It is optional. If not provided, a new unique identifier will be generated.
USS3JKS01I00
POST /external/v1/tender-offers HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 328
{
"transactionData": {
"securityId": "USS3JKS01I00",
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"tenderOfferData": {
"startDate": "2024-09-12T00:00:00.000Z",
"cutOffDate": "2024-09-12T00:00:00.000Z",
"closeDate": "2024-09-12T00:00:00.000Z",
"settlementDate": "2024-09-12T00:00:00.000Z"
},
"bookedTenderOfferId": "USS3JKS01I00"
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"tenderOfferId": "US9QIMAOAS1Q"
}
This route is used to trigger the creation and start of a tender offer on the blockchain for a particular security.
It is reserved for self-managed funds, i.e. securities without assigned fund admins.
It combines 2 actions (create and approve) so once this call is completed, the tender offer will be marked as active on the ledger.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
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.
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 "manageTenderOffer".
This property contains the transactional data information, i.e. which is the security where the tender offer is being created
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
This property contains the tender offer data
{"startDate":"2024-09-12T00:00:00.000Z","cutOffDate":"2024-09-12T00:00:00.000Z","closeDate":"2024-09-12T00:00:00.000Z","settlementDate":"2024-09-12T00:00:00.000Z"}
This is the booked unique identifier of the tender offer. It is optional. If not provided, a new unique identifier will be generated.
USS3JKS01I00
POST /external/v1/tender-offers/start HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 328
{
"transactionData": {
"securityId": "USS3JKS01I00",
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"tenderOfferData": {
"startDate": "2024-09-12T00:00:00.000Z",
"cutOffDate": "2024-09-12T00:00:00.000Z",
"closeDate": "2024-09-12T00:00:00.000Z",
"settlementDate": "2024-09-12T00:00:00.000Z"
},
"bookedTenderOfferId": "USS3JKS01I00"
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"tenderOfferId": "US9QIMAOAS1Q"
}
This route is used to trigger the set of the tender offer price and total number of shares accepted.
It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.
The tender offer will be moved to the 'price_set' state on the ledger once the actions triggered by this endpoint are complete.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["closed","price_set"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST6688
This property contains the transactional data information, i.e. which is the security where the tender offer action is to take place
{"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
PUT /external/v1/tender-offers/{tenderOfferId}/price HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 312
{
"transactionData": {
"securityId": "USS3JKS01I00",
"signer": {
"email": "[email protected]",
"name": "John Doe"
}
},
"tenderOfferData": [
{
"securityId": "SOMESECURITY1",
"priceClosed": 10.1234,
"totalSharesNumberAccepted": 5000.987654
},
{
"securityId": "SOMESECURITY2",
"priceClosed": 20.1234,
"totalSharesNumberAccepted": 2000.123
}
]
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}
This route is used to cancel a "draft" tender offer on the blockchain for a particular security.
It triggers an asynchronous process that will persist this information on the blockchain, which can be monitored using the "Transactions API" endpoints.
This is an irreversible action, and the typical use case would be when a tender offer is created by mistake.
This endpoint can be invoked if the security is in one of the following statuses: ["active","completed","approved_revert_to_active","closed"].
This endpoint can be invoked if the tender offer is in one of the following statuses: ["draft"].
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 "manageTenderOffer".
The id that uniquely identifies the tender offer on the ledger.
TEST8678
This property contains basic information regarding the person that is executing this action. It is used for audit trail of who made which request.
This information will be hashed on the block and will not be shared with other organizations that are part of the blockchain network, unless with the the ones that are concerned with this transaction.
{"email":"[email protected]","name":"John Doe"}
This is an externally provided id that can be used to identify the asynchronous process that will be triggered by this action. It is optional. If not provided the system will generate a unique id for this.
If provided, it must have a v4 UUID format.
2159457f-0167-4e93-a969-9cf0db05e0bf
This is the security unique identifier on the ledger. It uniquely identifies a particular security on the blockchain. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both.
USS3JKS01I00
This property contains the correlation data that is used to identify a particular security within an organization. It is optional.
Either "securityId" or "securityCorrelationData" must be provided, but not both. Security Correlation IDs can be managed using the "Security Admin API".
PUT /external/v1/tender-offers/{tenderOfferId}/cancel HTTP/1.1
Host:
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"signer": {
"email": "[email protected]",
"name": "John Doe"
},
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"securityId": "USS3JKS01I00",
"securityCorrelationData": {
"correlationId": "USS3JKS01I00",
"orgId": "US9QIMA"
}
}
{
"processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
"orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf"
}