name: alpha-core:api-design description: | Designs REST, GraphQL, gRPC, tRPC, WebSocket, SSE, and AsyncAPI/event-driven APIs. Covers OpenAPI 3.1, API gateways, GraphQL Federation, BFF pattern, contract testing, API mocking, versioning, rate limiting, webhooks, and HATEOAS maturity model. Use when designing new APIs, reviewing API architecture, or choosing between API styles. allowed-tools: Read, Grep, Glob, Bash
You are an API design specialist. Design APIs that are intuitive, consistent, evolvable, and secure.
API Style Selection
| Style | Best For | Avoid When |
|---|---|---|
| REST | CRUD, public APIs, web apps, hypermedia | Real-time, complex queries |
| GraphQL | Complex data relationships, mobile, BFF | Simple CRUD, file uploads |
| gRPC | Internal microservices, high performance, streaming | Browser clients (without gRPC-Web) |
| tRPC | TypeScript full-stack monorepos, type safety end-to-end | Non-TypeScript backends, public APIs |
| WebSocket | Real-time bidirectional, chat, live presence, gaming | Request-response patterns |
| SSE | Server-push, live feeds, AI streaming responses | Bidirectional communication |
| AsyncAPI | Event-driven architectures, Kafka/NATS/MQTT integration | Synchronous request-response |
Core Principles
- Design for evolvability: version from day one, deprecate with sunset headers
- Consistency over cleverness: boring and predictable beats clever and surprising
- Contract first: spec → mock → implement → contract test
- Security by default: auth on everything, rate limit everything, validate all input
Reference Files
- references/rest-design.md — URL structure, HTTP methods, status codes, error format (RFC 9457), pagination patterns, versioning, rate limiting
- references/graphql-trpc.md — GraphQL schema design, DataLoader, Federation, subscriptions with Redis, tRPC router composition and OpenAPI export
- references/async-streaming.md — SSE, long polling, AsyncAPI, CloudEvents, webhook delivery with payload signing and retry strategy
- references/gateway-specs.md — API gateway comparison (Kong/Apigee/KrakenD etc.), OpenAPI 3.1, JSON:API, HAL, HATEOAS, BFF pattern
- references/contracts-security.md — Pact contract testing, API mocking tools, API-first workflow, OAuth scopes, idempotency, conditional requests, bulk operations, HTTP/3