API request format¶
AyaNova uses a RESTful API and supports the JSON data interchange format exclusively.
No other data formats are supported, your code must supply and consume JSON formatted data.
All developer interaction with the AyaNova API is via the REST server interface only.
The api is secured via JSON web tokens documented in the API Console help page authentication section.
Your primary source of information on how to make API requests is the API explorer console where every route is documented and can be tested manually before coding.
In addition the AyaNova web app itself is also an extremely helpful source of information, by opening your browser's developer console and initiating actions within the AyaNova web app you can examine the network requests and responses to see how it's done within AyaNova.
API Versioning and URL¶
The AyaNova API is versioned and all requests must specify as part of the URL the version of the API desired. The API version number must be 8 or greater.
For example, for this request for the list of AyaType codes:
http://localhost:7575/api/v8.0/AyaType the server location and request to the start of the API route is specified by this part
http://localhost:7575/api/ and the exact version and route is specified by the final part:
In future releases the API version will be incremented and accessible by specifying the new API version number.
Old versions of the API will be supported wherever possible so an app written against the v8.0 API version will continue to work into the future when newer API versions are released (assuming an older version route hasn't had to be changed due to a serious issue or incompatibility).
The API explorer console on your server is always the best source of information on how to access your particular API and features a built in Version selector so you can manually try out any version of any route.
Dates and times¶
All dates and times sent or retrieved from the REST interface must be ISO 8601 format in UTC / GMT time zone ONLY. For example, "2027-04-05T14:30Z" or "2027-04-05T14:30". The server does not expect dates to be in any other time zone or format.
Localized dates and times are a client responsibility with AyaNova.
Every User account in AyaNova has their own UserOptions object which contains their personal Translation settings such as time zone offset, currency symbol and numeric formatting options you can use this value to correctly display and interpret values at a client level.
In addition every user has their own TranslationId setting stored in their User record (not UserOptions) which can be used to fetch and display text in the correct translation by using the methods in the Translation routes.