Amatino API Documentation
The Amatino API is structured as model of objects, like "Account", and actions that may be taken upon those objects, such as "Create". Each object supports a set of actions, and generally those actions map to standardised HTTP methods. For example, the action "Retrieve" requires the use of the HTTP method GET, while "Create" requires POST.
Amatino API objects can be categorised as primary, derived, and ancillary. The primary objects are Entity, Account, and Transaction. Every other object exists to support or extend those primary objects in some manner.
Derived objects organise and present accounting information stored using primary objects. For example, a Balance (derived) presents Transactions (primary) in a list form.
Ancillary objects support interactions with primary and derived objects. For example, a Session object holds authentication information that must be supplied with any request for other objects.
The API endpoint
Throughout the Amatino documentation, you will see references to API paths, such as /accounts. Those paths are shorthand for full request URLs, which should be prefixed with https://api.amatino.io. For example, https://api.amatino.io/accounts.
All arguments are compulsory. Some arguments may optionally be provided with null content, but they relevant key must still be provided in the payload.
For example, a Session Create request may include a user_id or account_email to identify a user. The unused argument must be specified as null. If "account_email": firstname.lastname@example.org were provided, then "user_id": null must also be provided.
Most requests to the Amatino API involve the provision of a JSON data body. Requests with JSON bodies must include a Content-Type: application/json header.