APIs, Networking & Integration Topics
API design, management, and integration patterns including REST, GraphQL, and other protocols. Covers API contract design, versioning strategies, error handling, idempotency, deprecation planning, and SDK/integration frameworks. Includes system-to-system integration, webhook patterns, and integration platform considerations. Excludes network infrastructure and network-layer protocols (see Network Architecture under Cloud & Infrastructure or a dedicated networking category if needed).
SDK and Client Library Design
Packaging an API for developer consumption via SDKs and client libraries: ergonomic method surfaces, auth handling, pagination helpers, retry/backoff built in, error mapping, and versioning of generated or hand-written clients. Covers cloud/mobile SDK design, code generation from contracts, and keeping SDKs consistent across languages.
GraphQL and Flexible Query APIs
Designing schema-driven query APIs where clients specify exactly the data they need. Covers types/queries/mutations/subscriptions, resolvers, the N+1 problem and batching/dataloaders, over-fetching vs. under-fetching trade-offs against REST, and schema federation. Includes when a flexible query layer is warranted versus a fixed-endpoint API.
API and Integration Troubleshooting
Diagnosing failures across API and integration boundaries: reading status codes and error payloads, tracing requests across services, latency and timeout investigation, TLS/CORS/auth failures, and pinpointing whether a fault is client, network, gateway, or provider. Covers logging/observability for integrations and systematic debugging of intermittent sync and connectivity issues.
HTTP Protocol and Web Fundamentals
Application-layer HTTP semantics that underpin API behavior: methods, status codes, request/response headers, content negotiation, caching (ETags, Cache-Control), cookies, connection reuse, and HTTP/1.1 vs. HTTP/2 vs. HTTP/3 differences. Includes TLS/HTTPS at the request level and how proxies and load balancers affect requests. Foundational knowledge assumed before deeper API topics.
API Versioning, Deprecation and Backward Compatibility
Evolving an API without breaking existing consumers: versioning strategies (URI, header, media-type), distinguishing breaking from non-breaking changes, deprecation policies and sunset timelines, and coordinating migrations at scale. Covers communicating changes, supporting multiple versions concurrently, and compatibility guarantees across heterogeneous clients.
API Gateways and API Management
The management layer in front of APIs: gateways for routing, authentication, rate limiting, request/response transformation, and observability. Covers API management concerns such as developer portals, key provisioning, plan/tier enforcement, analytics, and centralized policy. The operational and productization surface of an API program.
Rate Limiting, Throttling and Quota Management
Protecting API capacity and enforcing fair use: rate-limiting algorithms (token bucket, leaky bucket, fixed/sliding window), per-client quotas, throttling responses (429 semantics, Retry-After), and tiered plan enforcement. Covers where to enforce limits (gateway vs. service), distributed counters, and graceful degradation under load.
API Contracts and Schema Design
Defining the interface contract between producers and consumers: request/response payload shapes, data models, field-level validation, nullability, and enum/typing decisions (including safely evolving an enum's allowed values without breaking clients). Covers contract-first design with OpenAPI and JSON Schema (authoring specs, generating SDKs and mock servers, catching breaking changes in CI), mapping internal domain models to external DTOs as both evolve independently, and designing a stable error-response contract (structured error codes, correlation IDs, retryable classification). Also covers the leadership and behavioral practice of establishing and governing contract standards across teams. The contract is the durable artifact clients depend on.
Backend-for-Frontend and Client-Specific API Design
Shaping APIs to the needs of specific consumers: Backend-for-Frontend (BFF) pattern, aggregating/tailoring payloads per client, mobile vs. web bandwidth and battery constraints, and reducing round trips for constrained clients. Covers response shaping, partial responses, and balancing a generic API against client-optimized endpoints.