Asurrety Contracts can not be created directly via API, but can be retrieved.
An Assurety Contract is the specification of a version of a Smart Contract that can be deployed and used on a blockchain.
When an Assurety Schema is created, it will automatically be assigned an Assurety Contract in its contract parameter.
Assurety Schemas deploy Assurety Contracts to manage their Assurety Records.
The relationship between an Assurety Contract and an Assurety Schema is similar to the relationship between a Class and an instance (or Object) of that Class in most programming languages. Like a Class, an Assurety Contract describes a structure, or interface, or specification, but cannot be directly interacted with. It can be used to create several instances of itself that can be interacted with though. These instances of Assurety Contracts are created by deploying them to a blockchain. Once deployed and initialized on the blockchain, we refer to them as Assurety Schemas tracked by their deployed contract address.
Assurety Contracts are primarily used for reference when attempting to directly interact with a blockchain smart contract as an Assurety Contract contains an ABI that can be used with SDKs such as Web3.js.