Engineering glossary
Application Programming Interface(API)
An application programming interface (API) is a defined interface through which one software component can request data or an action from another component.
In plain language
An API is a controlled doorway into a system. It specifies which requests are allowed, what information they require, and what response the requester can expect. An API is not synonymous with REST: REST is one architectural style used for some web APIs.
Why it matters to a business
- Lets systems share capabilities without exposing their internal implementation
- Creates a stable boundary for integrations, applications, and automation
- Makes access, validation, versioning, and usage limits explicit
How it works
- 1A provider publishes operations and data contracts.
- 2A consumer authenticates when required and sends a request in the documented form.
- 3The provider validates the request, applies business rules, and returns a result or defined error.
- 4Production consumers handle timeouts, rate limits, version changes, and partial failure.
Common use cases
- Connecting a customer portal to an order system
- Retrieving CRM records for an internal dashboard
- Creating payments through a payment provider
- Exposing product capabilities to approved partners
Important implementation decisions
- Resource and operation design
- Authentication and authorization boundaries
- Versioning and compatibility policy
- Rate limits, pagination, errors, and observability
Common mistakes and misconceptions
- Assuming every API is RESTful
- Treating API availability as proof that an integration is simple
- Exposing database structures instead of stable business contracts
Limitations and trade-offs
An API reduces coupling only when its contract is stable and well governed.
Public or partner APIs require long-term compatibility and security commitments.
Authoritative references
Need to apply this concept to a real system?
A focused technical discussion can identify the decisions and constraints that matter before implementation.