All 60 tasks, level by level

The real graded API Design tasks the portal assigns, grouped into three levels.

The portal assigns these API Design tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.

Level 1: Foundations (24 tasks)

TaskWhat to do
What an API isExplain APIs, clients and servers, and compare REST, GraphQL, gRPC and webhooks in a table.
HTTP for API designersDocument every HTTP method and the 15 most useful status codes with when to return each.
Resource namingDesign URLs for a hospital system (patients, doctors, appointments) using nouns, plurals and nesting rules.
Request and response designWrite example JSON requests and responses for each endpoint with consistent field naming.
Error formatDesign one error response format (RFC 9457 problem details or your own) and use it for 6 error cases.
Study a great APIReview the public docs of a well-designed API (Stripe, GitHub or Twilio) and list 10 design choices you like.
OpenAPI firstWrite an OpenAPI 3 file for the hospital API before any code, in a repo named api-design-internship.
Mock serverRun a mock server from your OpenAPI file (Prism or Postman mock) and call it.
Query parametersDesign filtering, sorting, field selection and search parameters for the appointments list.
PaginationCompare offset, page-number and cursor pagination and design cursor pagination for one endpoint.
IdempotencyExplain idempotent methods and design an Idempotency-Key header for creating payments.
API style guideWrite a one-page API style guide for your team covering naming, dates, errors and versioning.
Design review checklistWrite a 25-point API design review checklist.
Naming exerciseRename 15 badly named endpoints and fields and explain each change.
Status code decisionsFor 15 scenarios, choose the right status code and justify it.
Enums and nullsDecide how your API represents enums, missing values and empty lists, and document it.
Money and unitsDesign how prices, currencies and units are represented (for example paise as integers).
Localisation in APIsDesign how your API handles language and time zones.
Bulk operationsDesign a bulk create endpoint with partial failure reporting.
Search APIDesign a search endpoint with filters, facets and sorting.
File upload APIDesign direct-to-storage file upload with pre-signed URLs.
API changelogWrite a changelog for three versions of your API.
Postman collectionPublish a Postman collection with examples for every endpoint.
Linting OpenAPILint your OpenAPI file with Spectral and fix the warnings.

Level 2: Building real features (20 tasks)

TaskWhat to do
Implement the APIImplement the hospital API from your OpenAPI file and check the code matches the contract.
Contract testsAdd tests that fail when the implementation stops matching the OpenAPI contract.
Authentication designCompare API keys, OAuth 2.0 and JWT, and design authentication for patients, doctors and partner apps.
AuthorisationDesign scopes or roles so each client can only reach the data it should, and test them.
VersioningCompare URL, header and media-type versioning and make a breaking change safely with a new version.
Rate limiting designDesign rate limits per client and the response headers that tell clients their limit.
Caching headersUse ETag, Cache-Control and conditional requests on read endpoints and show a 304 response.
Long-running operationsDesign an endpoint that starts a report job and lets clients poll or receive a webhook when it is done.
Webhooks designDesign webhooks with event types, retries, signatures and a test endpoint.
Developer docsPublish interactive docs with examples, a quickstart and an authentication guide.
SDK generationGenerate a client SDK from your OpenAPI file and use it in a small app.
Consumer-driven contractsUse Pact or a similar tool for consumer-driven contract tests.
Hypermedia linksAdd useful links (next page, related resources) to responses.
Partial responsesSupport a fields parameter so clients can request only the fields they need.
Concurrency controlUse ETags with If-Match to prevent lost updates.
Batch requestsDesign a batch endpoint for several operations in one call and explain the trade-offs.
Event-driven APIDescribe an event stream with AsyncAPI.
Public vs internal APIsWrite the different rules you would apply to public and internal APIs.
Developer onboardingDesign the sign-up to first API call journey with API keys and a sandbox.
Error cataloguePublish a catalogue of all error codes with causes and fixes.

Level 3: Professional work and capstone (16 tasks)

TaskWhat to do
GraphQL schemaDesign a GraphQL schema for the same domain and compare it with your REST design.
gRPC serviceDefine a gRPC service in a .proto file for internal service-to-service calls and generate a client.
API gatewayPut a gateway in front of your API for auth, rate limits and logging.
API security reviewReview your API against the OWASP API Security Top 10 and fix at least three issues.
Deprecation planWrite a deprecation policy and announce the retirement of an old endpoint with Sunset headers.
API analyticsLog usage per endpoint and client and build a small dashboard of calls, errors and latency.
Design reviewReview a classmate's API design with a checklist and suggest concrete improvements.
Capstone: public API productShip a documented, versioned, secured API with an SDK or client example, tests, a changelog and a design document explaining your choices.
API product thinkingWrite a one-page API product plan: users, value, pricing tiers and limits.
Gateway policiesConfigure quotas, caching and auth policies in an API gateway.
Multi-version supportRun two API versions side by side from one codebase and test both.
Breaking change rolloutPlan and simulate a breaking change rollout with communication and metrics.
Security testingRun automated API security tests (ZAP API scan or similar) and fix findings.
API governanceWrite governance rules for a company with 10 teams building APIs.
Design critiqueCritique a public API's design and propose improvements with examples.
Capstone 2: API platformDeliver an API platform with gateway, docs portal, SDK, sandbox, analytics and a deprecation policy.
โ† Tools and first-week setupSubmitting tasks and earning your certificate โ†’