Request:
mutation {
makeTaRequestIssuance (
input: {
securityId: "0994921c-647f-4809-823c-2cd20ac7646b"
toAccountId: "ce47dc3e-10f0-4ce1-beb9-b74debb144ac"
amount: "20000"
costBasis: "5.00"
issuanceDate: "2023-01-01"
}
) {
taRequest {
id
status
createdOn
}
}
}
Response:
{
"data": {
"makeTaRequestIssuance": {
"taRequest": {
"id": "740cffb4-ae5a-4256-8083-c9ecad4f6f94",
"status": "pending",
"createdOn": "2023-07-20T22:26:36.247596+00:00"
}
}
}
}
Numeric field | Usage |
---|---|
amount | The total number of units/shares |
costBasis | The per unit/share price |
It may be the case that an issuer has an existing cap table based on the prior issuance of a security to a set of investors, that they then want to bring to the Vertalo platform. In this case, there is no need to worry about programmatically creating distributions and then executing a distribution issuance via the Vertalo API (as described in the previous sections of this chapter). Instead, the issuer can proceed directly to creating holdings in the Vertalo platform for the investors on a cap table.
In this example, the mutation formally commences the process of creating a holding for an investor, based on the information provided, to create a transfer request. (The transfer, in this case, is from treasury to the investor.) The ID of the transfer request is returned in the payload. This newly created request must then be approved via the transfer agency desk at Vertalo. Once approved, the holding is created.
There are two key prerequisites to making use of this mutation:
- A corresponding asset and round must already exist in the Vertalo system, as the securityId field used in the mutation is a property of a round. Please refer to the Asset Configuration section of the Issuer Actions chapter for details on how to create an asset/round.
- Each investor must already exist in the Vertalo system, as the toAccountId field used in the mutation corresponds to an existing investor account ID. Please refer to the Investor Setup section of the Issuer Actions chapter for details on how to create investors.
With a round ID in hand, you can discover the associated security ID with the following query:
Request:
query {
roundById (id: "e073103e-4fed-4beb-b2d8-6821fa1ef0be") {
securityId
}
}
Response:
{
"data": {
"roundById": {
"securityId": "0994921c-647f-4809-823c-2cd20ac7646b",
}
}
}
With an investor email address in hand, you can discover the associated account ID with the following query:
Request:
query {
accountByTypeAndEmail (type: "investor", email: "bob.smith@example.com") {
id
}
}
Response:
{
"data": {
"accountByTypeAndEmail": {
"id": "ce47dc3e-10f0-4ce1-beb9-b74debb144ac"
}
}
}
Webhook
Vertalo will configure a webhook which will issue a callback to an endpoint you provide. A callback will be issued for each request submitted through the mutation, once the request has been reviewed and a disposition assigned. The format of the callback is:
{
"id": "<UUID of request>",
"status": "complete | failed"
}
The id field contained in the callback corresponds to the id field in the response returned by the mutation (see above).