This blog post provides perspective on the acronym API, or Application Programming Interface, as it is used in content management systems, specifically the Contentstack SaaS headless CMS.
This post is a member of the following glossary:
An API is a computer programming interface that allows access to a system to exchange data, invoke functionality, and otherwise. Developers use APIs to extend, customize, and otherwise implement systems provided by vendors.
A CMS API provides computer programming routines to access a CMS. A CMS may provide multiple APIs, for example separating content management from content delivery, binary assets from text, as well as specific technologies such as GraphQL, security infrastructure, and otherwise.
Historically, APIs were platform-specific, meaning that an application written in the C programming language would provide an API that some C and other compilers could use. Web services and REST interface over HTTPS without any platform-specific API. Therefore, in the context of service-oriented architectures and SaaS, the term API typically refers to REST endpoints that use JSON to exchange data between systems. The CMS processes URL domains and paths, query string parameters, HTTP headers, cookies, HTTP request bodies such as for JSON and binary payloads, and potentially other factors to construct JSON responses. Vendors may provide platform-specific SDKs (Software Development Kits) that abstract access those underlying RESTful interfaces.
Webhooks provide an additional form of API, except with webhooks, rather than responding to an HTTP request, publishing and other actions trigger the CMS to pass event data to the webhook listener URLs of external systems.