Full Stack • Java • System Design • Cloud • AI Engineering

What Is an API

Understand APIs as contracts between systems, products, teams, and users.

What Is an API

An API is a contract that lets one system use another system capability without knowing its internal implementation. Good APIs make business capabilities reusable across web apps, mobile apps, partners, services, automation, and integrations.

Where This Fits

Key Ideas

  • Treat the API as a long-lived contract, not only a controller or endpoint.
  • Design for consumers, failure paths, observability, security, and future change.
  • Keep behavior predictable across success, validation, conflict, retry, and authorization scenarios.
  • Document decisions clearly enough that another team can consume the API without reading source code.

Design Checklist

  1. Define the consumer, business capability, and success criteria.
  2. Identify request fields, response fields, errors, status codes, and examples.
  3. Decide authentication, authorization, rate limits, idempotency, and audit needs.
  4. Consider latency, payload size, pagination, caching, and downstream dependency failures.
  5. Add logs, metrics, traces, correlation IDs, and useful dashboards before production release.

Common Mistakes

  • Designing around database tables instead of consumer use cases.
  • Returning inconsistent error shapes across endpoints.
  • Ignoring retries, duplicate requests, and partial failures.
  • Shipping without contract examples, monitoring, or backward-compatibility guidance.

Practical Outcome

After this lesson, you should be able to explain what is an api in a design review, identify the trade-offs, and apply the concept to a production API.

Loading likes...

Comments

Share a question, correction, or practical insight about this article.

Loading approved comments...