π APIs
Service API listing and design decisions
{Service 1} API
| Method | Path | Auth? | Request Body | Response | Status codes | Notes |
|---|---|---|---|---|---|---|
| GET | /api/resource | Yes | β | { data: [...] } | 200, 401, 500 | {Notes} |
| POST | /api/resource | Yes | { name, ... } | { id, name, ... } | 201, 400, 401 | {Notes} |
| PUT | /api/resource/:id | Yes | { name, ... } | { id, name, ... } | 200, 400, 404 | {Notes} |
| DELETE | /api/resource/:id | Yes | β | { success: true } | 200, 404 | {Notes} |
| PATCH | /api/resource/:id | Yes | { field: value } | { id, field, ... } | 200, 400, 404 | {Notes} |
API Design Decisions
| Decision | Choice | Rationale | Notes |
|---|---|---|---|
| API Style | REST GraphQL gRPC WebSocket | {Rationale} | {Notes} |
| Authentication | {JWT / Session / OAuth2 / API Key} | {Rationale} | {Notes} |
| Versioning | {URL path / Header / None} | {Rationale} | {Notes} |
| Rate limiting | {Strategy} | {Rationale} | {Notes} |