# Getting Started
# API Specification
All Ingrid services provide HTTP endpoints with Swagger specifications. These can be found at:
- SIW - Swagger UI (opens new window) (JSON (opens new window))
- Delivery Checkout (beta) - Swagger UI (opens new window) (JSON (opens new window))
- SOM - Swagger UI (opens new window) (JSON (opens new window))
- Tracking Widget - Swagger UI (opens new window) (JSON (opens new window))
We have two environments that you can use:
https://api-stage.ingrid.com (opens new window) - is our staging and testing environment where you do all the testing and developing against
https://api.ingrid.com (opens new window) - is the production environment that you switch to when it’s time to go live
When you register with Ingrid you will receive an API token. This token must be send with every request in the Authorization HTTP header with the Bearer prefix followed by base64 encoded token. It will look something like this:
POST /v1/siw/session.create HTTP/1.1 Host: api.ingrid.com Authorization: Bearer ZjQ1Mjk0MDMyNTNhNDdmNmIyOTI3NDE2ODUzNTU0NmI= Content-Type: application/json
Every token is tied to specific environment thus you must use different tokens in staging or production environments.
The API token should be kept private and treated as a password. Hence all calls to our API should be done from the backend.
# Client Generation
Since Ingrid's API is built on top of OpenAPI specification you can use different tools to auto-generate API clients. Two that we recommend are Autorest (opens new window) that works great if you are on the Dotnet stack and OpenAPI Generator (opens new window) that works great for the rest of the programming languages.
Below are two simple examples that you can use as base to generate API clients.