Skip to content

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

  1. 1A provider publishes operations and data contracts.
  2. 2A consumer authenticates when required and sends a request in the documented form.
  3. 3The provider validates the request, applies business rules, and returns a result or defined error.
  4. 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.