The Vertalo object model consists of the following major components:
- Users
- Accounts
- Assets
- Rounds
- Allocations
- Investors
- Distributions
- Securities
- Holdings
As you peruse the API documentation in GraphiQL, you’ll see these objects appearing in root-level fieldnames, type names, and other areas of the API. The examples in this section represent a good starting point for your exploration of the Vertalo API.
The basic pre-issuance object hierarchy is:
Issuers (which manage)
Assets (which contain)
Rounds (which contain)
Allocations (which contain)
Investors (which hold)
Distributions
The basic post-issuance object hierarchy is:
Issuers (which manage)
Assets (which contain)
Securities (which have)
Investors (which have)
Holdings
Understanding the parent/child relationships expressed above is essential. And while you may create this hierarchy either manually using the Vertalo portal or programmatically using the API, you must ensure that parent objects exist before attempting to create related child objects.
Exploring the Object Hierarchy
In this example, the query traverses the Vertalo object hierarchy in order to expose detail at multiple levels. It is critical that you understand how objects relate to one another in order to drill down to the information you want to access or create. Also, you should notice how the shape of the resulting data matches the shape of the query in the above example. This is a feature of GraphQL. In the case of this example, the object hierarchy is expressed both in the query and the result.
Query Assets
In this example, the query returns a list of assets. Notice that the shape of the result (expressed as JSON) matches the shape of the query. This is an important feature of GraphQL.
Query Accounts
In this example, the query returns a list of accounts including the fields you requested (collectively known as the query’s payload). Notice the use of arguments (“last”) to refine the results of the query. In this case, only the first 3 accounts are returned. The type definition of a root field (as shown in the Documentation Explorer) will describe any arguments that the field supports.