Cryos API documentation - High-level overview
The overall high level diagram of APIs hosted with Azure API management can be seen below. The Azure API management consist of three sections.
The gateway or Data plane - this is the door man of the platform accepting incoming API calls and routes them to appropriate backends. It is also here API keys are verified like other credentials. Rate limits and quotas are also handled at this level. Likewise any traces for monitoring reporting and troubleshooting is also handled here.
The management plane - The is where Cryos' API team can configure policies, users, products, get insights from analytics, define API schemas and basically all the pillars that controls the API.
The developer portal - This right here is the developer portal, it is the user interface which you as a user interacts with. Here you can read the documentation, test the APIs, download API definition, manage keys and create accounts.

Security
We have briefly mentioned API keys and that the Donor and Pregnancy Report APIs already have API keys embedded. The reason these two API's have them embedded lies in the data, they are not as sensitive as the deliveryNote API data. The deliveryNote API have an embedded API key hooked up to out internal databases, and a required API key, which is the clinic key.
So a clinic can have there own special API key/Clinic key which gives them access to package list for donor sperm that is only relevant and linked to that clinic. Therefore since that data is highly sensitive and only linked to specific clinic, a clinic needs to contact Cryos Customer Care to generate that key and send that key to the clinic. The clinic will then send that key to the EMR vendor (that is you) which you as a developer needs to implement in your software which the clinic is using in order to receive the data from the delivey note.
The API key/Clinic key is required in order to use the Delivery Note API.

Getting access
In order to get access to the Cryos APIs, you need to sign up and have a subscription attached to a product group. We offer two product groups right now:
Standard - consists of the donor and pregnancy API.
Premium - consists of Donor, Pregnancy, and Delivery Note.
The reason for the two product is simply put, the pregnancy report stores data directly at Cryos - so if you made some test data on that API at a mistake and did not write test, it will be considered a real pregnancy report. So the Premium is for those who are certain they will need to report pregnancies.
After you have signed up, you will receive an email instructing you to contact us regarding which product you wish to have access to and why. The reason is that we need to know the company you are working for to verify that the data you need is for a clinic, and not just for personal use. This is crucial because we operate with sensitive donor data.
Once all of this is done, you should be able to see your subscription under your profile page and which APIs you have access to.
Calling the REST APIs
When you have a subscription key, you can call the endpoints as easily as firing a GET request in the interactive try tool. If you want to try it out and see how it works, refer to the TestDonorImport API where we have created mock data for you to test. This is a generic test donor that does not exist in the system. It has been created to showcase the overall structure of requesting data.
You can call the API with no parameters and request everything or use the OData filtering options. For reference, look in the Request/Response tab.
You should receive an HTTP code 200 success if your subscription key is attached to a product group.

But what if something goes wrong? do not worry - we have made a complete list with HTTP errors and how to fix them - and or how to get you started.