All pages
Powered by GitBook
1 of 26

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...

Inv - Submit Tender Request

Details

/external/v1/tender-offers/{tenderOfferId}/requests

Synopsis

Important Notes

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

FA - Reject Tender Offer

Details

/external/v1/tender-offers/{tenderOfferId}/reject

Synopsis

Important Notes

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

AM - Update Tender Offer

Details

Synopsis

Important Notes

  • See for information on using orchestrationId and processId.

AM/FA - Apply Tender Offer Price

Details

Synopsis

Important Notes

  • Offer price has been approved (for managed funds).

  • See for information on using orchestrationId and processId.

\

AM/FA/Inv - Remove Tender Request Correlation ID

Details

Synopsis

AM/FA/Inv - Get Tender Offer Correlation ID History

Details

Synopsis

AM/FA/Inv - Remove Tender Offer Correlation ID

Details

Synopsis

/external/v1/tender-offers/{tenderOfferId}
Blockchain Transaction Tracking
/external/v1/tender-offers/{tenderOfferId}/price/apply
Blockchain Transaction Tracking
/external/v1/tender-offers/requests/{tradeId}/correlation-id/remove
/external/v1/tender-offers/correlation-id/history
/external/v1/tender-offers/{tenderOfferId}/correlation-id/remove

Inv - Cancel Tender Offer Request

Details

/external/v1/tender-offers/{tenderOfferId}/request/{tradeId}/cancel

Synopsis

Important Notes

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

AM/FA/Inv - Get Tender Request Correlation IDs History

Details

/external/v1/tender-offers/requests/correlation-id/history

Synopsis

AM/FA - Get Tender Offer Details

Details

Synopsis

AM/FA - Close Tender Offer

Details

Synopsis

Important Notes

  • See for information on using orchestrationId and processId.

AM/FA/Inv - Add Tender Request Correlation ID

Details

Synopsis

/external/v1/tender-offers
/external/v1/tender-offers/{tenderOfferId}/close
Blockchain Transaction Tracking
/external/v1/tender-offers/requests/{tradeId}/correlation-id/add

Tender-Offer Redemption Management

The Corastone platform supports redemption of shares via buyback (tender offer redemption). A tender offer is initiated by the asset manager or fund administrator.

Related Concepts

Tender Offer Redemption

Mapping Your IDs to Corastone IDs

Endpoints

The following list summarizes the primary endpoints required to support the tender offer life cycle:

Create and Start Tender Offer

Create Tender Offer

Approve Tender Offer

Reject Tender Offer

Update Tender Offer

Submit Tender Request

Cancel Tender Offer Request

Set Tender Offer Price

Approve Tender Offer Price

Reject Tender Offer Price

Apply Tender Offer Price

Complete Tender Offer Price

Settle Tender Offer

Close Tender Offer

Cancel Tender Offer

Add Tender Offer Correlation ID

Remove Tender Offer Correlation ID

Add Tender Request Correlation ID

Remove Tender Request Correlation ID

Getters

Get Tender Offer

Get Tender Requests

Get Tender Offer History

Get Tender Request History

Get Tender Offer Correlation ID History

Get Tender Request Correlation IDs History

AM/FA - Get Tender Requests History

Details

/external/v1/tender-offers/requests/history

Synopsis

Decline Digital Asset

put

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

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

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

Once processed, the asset will be disposed.

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

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

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

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

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

Authorizations
Path parameters
assetIdanyRequired

The unique identifier of the asset on the blockchain

Example: US9QIMAOAS1Q
Body
transactionDataall ofRequired

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

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

{
  "transactionData": {
    "securityId": "USS3JKS01I00",
    "signer": {
      "email": "[email protected]",
      "name": "John Doe"
    }
  }
}
{
  "processId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "orchestrationId": "2159457f-0167-4e93-a969-9cf0db05e0bf",
  "assetId": "US9QIMAOAS1Q",
  "fileIds": [
    "US9QIFILE1",
    "US9QIFILE2"
  ],
  "referenceData": {
    "account": {
      "accountId": "US9QIMAOAS1Q",
      "custodian": {
        "custodianId": "US9ZIMAOAS1Q"
      }
    },
    "investors": [
      {
        "investorId": "US9QIM123S1Q"
      }
    ]
  },
  "completedByAdvisor": {
    "advisorId": "OG12JUS03I04"
  },
  "dryRun": true
}

AM/FA - Approve Tender Offer Price

Details

/external/v1/tender-offers/{tenderOfferId}/price/approve

Synopsis

Important Notes

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

AM/FA - Get Tender Offer History

Details

/external/v1/tender-offers/history

Synopsis

AM/FA - Settle Tender Offer

Details

Synopsis

Important Notes

  • See for information on using orchestrationId and processId.

FA - Approve Tender Offer

Details

Synopsis

Important Notes

  • See for information on using orchestrationId and processId.

\

AM/FA - Reject Tender Offer Price

Details

Synopsis

Important Notes

  • See for information on using orchestrationId and processId.

AM/FA - Get Tender Requests Details

Details

Synopsis

AM/FA - Complete Tender Offer Price

Details

Synopsis

AM/FA/Inv - Add Tender Offer Correlation ID

Details

Synopsis

/external/v1/tender-offers/{tenderOfferId}/settle
Blockchain Transaction Tracking
/external/v1/tender-offers/{tenderOfferId}/approve
Blockchain Transaction Tracking
/external/v1/tender-offers/{tenderOfferId}/price/reject
Blockchain Transaction Tracking
/external/v1/tender-offers/requests
/external/v1/tender-offers/{tenderOfferId}/price/complete
/external/v1/tender-offers/{tenderOfferId}/correlation-id/add

AM - Create Tender Offer

Details

/external/v1/tender-offers

Synopsis

Important Notes

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

AM - Create and Start Tender Offer

Details

/external/v1/tender-offers/start

Synopsis

Important Notes

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

\

AM - Set Tender Offer Price

Details

/external/v1/tender-offers/{tenderOfferId}/price

Synopsis

Important Notes

  • Tender offer must be closed.

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

AM/FA - Cancel Tender Offer

Details

/external/v1/tender-offers/{tenderOfferId)/cancel

Synopsis

Important Notes

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

Submit Tender Request

post

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the tender trade request is being created

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
bookedTradeIdstring · max: 12Optional

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

Example: USS3JKS01I00
Responses
201
Successfully triggered the creation of a tender request
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 - TD0009 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0006 - TO0007 - TO0030 - TO0031 - TO0032 - TO0033 - TO0028 - TO0029 - AS0030 Please refer to the error code dictionary for the details of each error code.
application/json
post
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"
}

Reject Tender Offer

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the rejection of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Update Tender Offer

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the tender offer is being updated

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

This property contains the tender offer data

Example: {"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"}
Responses
200
Successfully triggered an update of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 - TO0016 - TO0044 - TO0017 - TO0045 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0014 - TO0015 - TO0018 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Apply Tender Offer Price

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the tender offer action is to take place

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to apply the tender offer price to all tender requests
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0009 - AS0030 - TD0010 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Remove Tender Request Correlation ID

put

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".

Authorizations
Path parameters
tradeIdanyRequired

The unique identifier of the tender request on the blockchain

Example: US9QIMAOAS1Q
Body
correlationIdstring · max: 100Required

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

Example: 123245573717
transactionDataall ofRequired

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

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully removed (or, if the action is being broadcast, triggered the removal of) the correlation id from the tender request.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - TD0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0098 - IS0108 - TD0006 - TD0005 - TD0007 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
  }
}

Get Tender Offer Correlation Ids History

get

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".

Authorizations
Query parameters
pageSizenumberOptional

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

offsetnumberOptional

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

blockNumbernumber · max: 2147483647Optional

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

Example: 350
transactionIdstring · max: 500Optional

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

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

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

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
Responses
200
Successfully retrieved the Tender Offer Correlation Ids history entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/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"
      }
    }
  }
]

Remove Tender Offer Correlation ID

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The unique identifier of the tender offer on the blockchain

Example: US9QIMAOAS1Q
Body
correlationIdstring · max: 100Required

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

Example: 123245573717
transactionDataall ofRequired

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

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully removed (or, if the action is being broadcast, triggered the removal of) the correlation id from the tender offer.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0098 - IS0018 - TO0047 - TO0046 - TO0048 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
  }
}

Cancel Tender Request

put

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".

Authorizations
Path parameters
tradeIdanyRequired

The id that uniquely identifies the tender request on the ledger. It is the output of the create tender request endpoint.

Example: TRADE123
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the process to cancel the tender request.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 - TD0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 - TD0001 - IS0009 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0018 - TO0003 - TO0005 - TO0004 - TO0006 - TO0007 - TO0008 - TO0040 - TO0061 - TD0003 - AS0030 - TD0010 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Get Tender Requests Correlation Ids History

get

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".

Authorizations
Query parameters
pageSizenumberOptional

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

offsetnumberOptional

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

blockNumbernumber · max: 2147483647Optional

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

Example: 350
transactionIdstring · max: 500Optional

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

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

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

Example: OG123Pattern: ^[a-zA-Z0-9-]*$
Responses
200
Successfully retrieved the tender requests correlation Ids history entries
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/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"
      }
    }
  }
]

Get Tender Offer Details

get

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".

Authorizations
Query parameters
pageSizenumberOptional

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

offsetnumberOptional

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

tenderOfferStatusFilterstringOptional

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

Example: active
securityIdsFilterstringOptional

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.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

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.

Example: 1234,5678,7890
tenderOfferIdsFilterstringOptional

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.

Example: USCCWSF01I00,USCCWSF01I01
tenderOfferCorrelationIdsFilterstringOptional

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.

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

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

tenderOfferCorrelationOrgIdstring · max: 12Optional

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.

Responses
200
Successfully retrieved the tender offer data
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/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"
    }
  }
]

Close Tender Offer

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the process to close the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0009 - AS0030 - TD0010 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Add Tender Request Correlation ID

put

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".

Authorizations
Path parameters
tradeIdanyRequired

The unique identifier of the tender request on the blockchain

Example: US9QIMAOAS1Q
Body
correlationIdstring · max: 100Required

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

Example: 123245573717
broadcastToCounterpartybooleanOptional

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

Default: falseExample: true
originstringOptional

The organization origin system that created this entity correlation id

Example: Backoffice-system-123
transactionDataall ofRequired

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

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully added (or, if the action is being broadcast, triggered the addition of) the correlation id to the security.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - TD0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - TO0019 - TD0005 - IS0108 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
  }
}

Get Tender Requests History

get

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".

Authorizations
Query parameters
pageSizenumberOptional

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

offsetnumberOptional

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

blockNumbernumber · max: 2147483647Optional

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

Example: 350
transactionIdstring · max: 500Optional

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

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

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

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

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.

Example: USCCWSF01I00,USCCWSF01I01
tradeCorrelationIdsFilterstringOptional

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.

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

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.

Responses
200
Successfully retrieved the tender request history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/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"
      }
    }
  }
]

Approve Tender Offer Price

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the price approval of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Get Tender Offer History

get

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".

Authorizations
Query parameters
pageSizenumberOptional

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

offsetnumberOptional

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

blockNumbernumber · max: 2147483647Optional

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

Example: 350
transactionIdstring · max: 500Optional

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

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

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

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

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.

Example: USCCWSF01I00,USCCWSF01
tenderOfferCorrelationIdsFilterstringOptional

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.

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

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.

Responses
200
Successfully retrieved the Tender Offer history
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/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"
    }
  }
]

Settle Tender Offer

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the settlement of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0009 - AS0030 - TD0010 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Approve Tender Offer

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the approval of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0012 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Reject Tender Offer Price

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the rejection of the tender offer price
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Get Tender Requests Details

get

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".

Authorizations
Query parameters
pageSizenumberOptional

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

offsetnumberOptional

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

tradeStatusFilterstringOptional

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

Example: active,canceled
tradeIdsFilterstringOptional

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.

Example: USCCWSF01I00,USCCWSF01I01
tradeCorrelationIdsFilterstringOptional

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.

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

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.

tradeCorrelationOrgIdstring · max: 12Optional

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.

securityIdsFilterstringOptional

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.

Example: USCCWSF01I00,USCCWSF01I01
securityCorrelationIdsFilterstringOptional

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.

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

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

tenderOfferIdsFilterstringOptional

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.

Example: USCCWSF01I00,USCCWSF01I01
tenderOfferCorrelationIdsFilterstringOptional

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.

Example: 1234,5678,7890
Responses
200
Successfully retrieved the tender requests
application/json
400
The following error codes can be returned: - GN0002 - GN0004 - GN0005 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
get
GET /external/v1/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"
    }
  }
]

Complete Tender Offer Price

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the process to apply the tender offer price to all tender requests
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0009 - TO0056 - TO0057 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Add Tender Offer Correlation ID

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The unique identifier of the tender offer on the blockchain

Example: US9QIMAOAS1Q
Body
correlationIdstring · max: 100Required

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

Example: 123245573717
broadcastToCounterpartybooleanOptional

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

Default: falseExample: true
originstringOptional

The organization origin system that created this entity correlation id

Example: Backoffice-system-123
transactionDataall ofRequired

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

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully added (or, if the action is being broadcast, triggered the addition of) the correlation id to the tender offer.
application/json
400
The following error codes can be returned: - GN0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - TO0019 - TO0046 - IS0018 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
  }
}

Create Tender Offer

post

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".

Authorizations
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the tender offer is being created

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

This property contains the tender offer data

Example: {"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"}
bookedTenderOfferIdstring · max: 12Optional

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

Example: USS3JKS01I00
Responses
201
Successfully triggered the creation of the tender offer The "processId" and "orchestrationId" properties can be used on the "Transactions API" to monitor the status of this asynchronous process.
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0016 - TO0044 - TO0017 - TO0045 - TO0060 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - IS0009 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - TO0014 - TO0015 - TO0018 - TO0019 Please refer to the error code dictionary for the details of each error code.
application/json
post
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"
}

Create and Start Tender Offer

post

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".

Authorizations
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the tender offer is being created

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

This property contains the tender offer data

Example: {"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"}
bookedTenderOfferIdstring · max: 12Optional

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

Example: USS3JKS01I00
Responses
201
Successfully triggered the creation and start of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 - TO0016 - TO0044 - TO0017 - TO0045 - TO0060 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 - TO0015 - TO0014 - TO0015 - TO0018 - TO0019 - TO0013 Please refer to the error code dictionary for the details of each error code.
application/json
post
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"
}

Set Tender Offer Price

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST6688
Body
transactionDataall ofRequired

This property contains the transactional data information, i.e. which is the security where the tender offer action is to take place

Example: {"securityId":"USS3JKS01I00","signer":{"email":"[email protected]","name":"John Doe"}}
Responses
200
Successfully triggered the process to set the tender offer price
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 - TO0026 - TO0027 - TO0022 - TO0023 - TO0025 - TO0058 - TO0059 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}

Cancel Tender Offer

put

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".

Authorizations
Path parameters
tenderOfferIdanyRequired

The id that uniquely identifies the tender offer on the ledger.

Example: TEST8678
Body
signerall ofRequired

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.

Example: {"email":"[email protected]","name":"John Doe"}
processIdstringOptional

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.

Example: 2159457f-0167-4e93-a969-9cf0db05e0bf
securityIdstringOptional

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.

Example: USS3JKS01I00
securityCorrelationDataall ofOptional

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".

Responses
200
Successfully triggered the cancellation of the tender offer
application/json
400
The following error codes can be returned: - GN0002 - IS0008 - IS0106 - TO0002 Please refer to the error code dictionary for the details of each error code.
application/json
401
The following error codes can be returned: - AU0001 - AU0003 Please refer to the error code dictionary for the details of each error code.
application/json
403
The following error codes can be returned: - AU0002 - IS0099 Please refer to the error code dictionary for the details of each error code.
application/json
404
The following error codes can be returned: - TO0001 Please refer to the error code dictionary for the details of each error code.
application/json
409
The following error codes can be returned: - IS0013 - IS0012 - IS0010 - IS0002 - IS0018 - TO0003 - TO0005 - TO0004 Please refer to the error code dictionary for the details of each error code.
application/json
put
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"
}