# Introduction
# Target
This API is working with Rest/JSON.
It allows to integrate all resources linked to a Kinow video platform inside an existing CMS, for example video list from catalog or user account information's.
This API also allows to edit data on-the-fly or create new ones, so it provides administrator context access with write rights on all platform data.
It’s also very powerful for batch actions, like synchronizing user accounts with an external SSO.
Take a look to the API Reference to get a full list of available resources.
# Rate limitation
Kinow API observes a rate limitation, with a maximum number of requests allowed to be thrown per minute. If this maximum is exceeded, the application is no longer allowed to contact the API for a laps of time.
For massive requests integration without limitation, please take a look to our GraphQL API
# Cache API responses
To minimize the number of requests done to the API, and the latency that may result depending on the request data complexity, it's imperative to create a local cache with the API data returned.
This is very important in order to increase the application performance (limiting calls number, increasing the overall response time) and support a high level of traffic.
It's therefore necessary to make each API call once, and put the returned data in a local cache (for example Memcache, Redis or a relational database like MySQL) rather than making the calls with each page load.
You can populate the data displayed on your page using the local cache instead of a redundant JSON format.
Webhook notifications are then used to update cached data in real time, without manually resynchronizing all data.
# Notifications webhook
Kinow provides a system to receive notifications on a entrypoint (webhook mechanism) in order to be notified of any change made on existing object inside the backend (eg. customer account, catalog content, etc).
Various events are implemented and send the objects affected by the changes directly inside the notification. A signature is also given to check the data authenticity.
Please take a look to available webhook events