Graph
APIs

🔗APIs

NEW

Also known as: Application Programming Interface

Interfaces that expose defined operations and data so software systems can communicate programmatically.

DESCRIPTION

APIs are contracts that define how software systems interact, typically through request and response semantics over protocols like HTTP/2 or HTTP/3, or via binary RPC. They enable modular architectures, microservices, and integration with third-party services. Common styles include REST, gRPC, and GraphQL, often described using the OpenAPI Specification. Robust APIs include authentication, authorization, rate limiting, pagination, and versioning strategies. Good API design emphasizes consistency, observability, and backwards compatibility to support evolvability and developer experience.

ALTERNATIVE DEFINITIONS

Wikipedia

An application programming interface (API) is a way for two or more computer programs to communicate with each other.

Emphasizes inter-program communication in a neutral, general-purpose sense.

Source

Red Hat

An API is a set of definitions and protocols for building and integrating application software.

Highlights APIs as design contracts for building and integrating software systems.

Source

IBM

APIs are mechanisms that enable two software components to communicate with each other using a set of definitions and protocols.

Frames APIs as a mechanism with formal definitions and protocols enabling communication.

Source

REST GraphQL gRPC OpenAPI Specification OAuth 2.0 Rate Limiting Webhooks Service Mesh Microservices Software Development Kit

COMPETING TERMS

Event Streaming File-Based Integration

RELATIONS

KNOWLEDGE AREAS

Software Engineering Data Integration & Interoperability Platform & Tooling Cloud

TARGET AUDIENCE

Software Developer Full Stack Developer Data Engineer DevOps Engineer AI Engineer Software Architect Solution Architect Cloud Architect

EXTERNAL SOURCES

TOP QUESTIONS

Why are APIs critical in modern software architecture?

APIs decouple services and enable modular, scalable systems. They let teams evolve independently while maintaining reliable contracts. This makes integration and innovation faster.

Category: Relevancy

What is the difference between REST, GraphQL, and gRPC APIs?

REST uses resource-oriented HTTP semantics, GraphQL offers a flexible query language over a single endpoint, and gRPC uses binary Protobuf for efficient RPC. Choose based on payload, latency, and coupling.

Category: Example

How should API versioning be handled?

Prefer backwards-compatible changes and semantic versioning; use resource or header-based versioning when breaking changes are unavoidable. Communicate deprecations clearly and provide migration paths.

Category: Best practices

What are common mistakes when designing APIs?

Inconsistent naming, overloading endpoints, leaking internal models, and weak pagination or error handling are common pitfalls. Ignoring idempotency and rate limits leads to reliability issues.

Category: Mistakes

How do APIs relate to event streaming?

APIs are request/response, while streaming is event-driven and asynchronous. Many architectures combine both: APIs for commands/queries and streams for state change notifications.

Category: Comparison

How is API security typically implemented?

Use TLS, OAuth 2.0 or OIDC for auth, least-privilege scopes, input validation, and rate limiting. Consider API gateways and service meshes for centralized policy enforcement.

Category: Security

What is a hot topic around APIs today?

API-first development, contract testing, and API governance platforms are growing. Async APIs and event-driven specs (AsyncAPI) are also gaining adoption.

Category: Topic

How do you document APIs effectively?

Use OpenAPI or GraphQL SDL with autogenerated references, code samples, and SDKs. Include usage guides, error catalogues, and changelogs to support developers.

Category: Documentation

What metrics matter for API reliability?

Track latency percentiles, availability SLOs, error rates by code, saturation, and request volumes. Correlate with traces for bottleneck analysis.

Category: Observability