APIs & Integration

Every modern product is a set of systems talking to each other: a browser calling a backend, a mobile app syncing state, a payment provider calling back with a webhook, a microservice asking another for data. The API is the contract in each of those conversations, and contracts are expensive to change once other people depend on them.

This hub covers the whole lifecycle of an API — choosing a style, designing the contract, documenting and versioning it, putting a gateway in front of it, and making calls safe to retry. Server-side implementation details (frameworks, ORMs) live in Backend Development; asynchronous event pipelines live in Messaging & Event Streaming.

TL;DR

Choosing an API Style

Still undecided between the two most common options? Read REST vs GraphQL.

Featured Topics

Design & Contracts

Real-Time & Event Delivery

Operating APIs

The Request Path

Each hop has a job. The gateway handles cross-cutting concerns once so every service doesn't reimplement them. The service owns validation and business rules. Idempotency checks sit right before side effects.

Common Mistakes

🚫 Leaking your database schema as your API — Tables change; contracts shouldn't have to. Design resources around consumer needs.

🚫 No versioning plan — Adding a required field or renaming one breaks every client. Decide your policy before v1.

🚫 Non-idempotent POSTs on flaky networks — A retry after a timeout creates a duplicate order. Accept an idempotency key.

🚫 Unsigned webhooks — Anyone who finds the URL can forge events. Verify HMAC signatures and timestamps.

🚫 Errors as 200 OK — Use status codes consistently and return a structured error body.

Learning Path

Beginner

Build a small REST API with correct status codes and pagination. Document it with OpenAPI.

Intermediate

Add authentication, rate limiting, and versioning. Build a GraphQL endpoint and solve its N+1 problem. Receive and verify a webhook.

Advanced

Run a gateway in front of several services, design idempotent payment-style flows, and compose a federated graph.

Related Topics