Training Trains logo

API Design Internship

Design APIs developers love to use: REST conventions, OpenAPI contracts, errors, pagination, versioning, security, webhooks and great documentation.

OpenAPI / SwaggerPostmanNode.js or PythonGraphQLgRPC

What you'll work on

Full syllabus: all 60 graded tasks

These are the actual tasks the internship portal assigns for this domain. You submit each one with proof (a GitHub link or document) and a mentor reviews it.

Level 1: Foundations (24 tasks)
  1. What an API is. Explain APIs, clients and servers, and compare REST, GraphQL, gRPC and webhooks in a table.
  2. HTTP for API designers. Document every HTTP method and the 15 most useful status codes with when to return each.
  3. Resource naming. Design URLs for a hospital system (patients, doctors, appointments) using nouns, plurals and nesting rules.
  4. Request and response design. Write example JSON requests and responses for each endpoint with consistent field naming.
  5. Error format. Design one error response format (RFC 9457 problem details or your own) and use it for 6 error cases.
  6. Study a great API. Review the public docs of a well-designed API (Stripe, GitHub or Twilio) and list 10 design choices you like.
  7. OpenAPI first. Write an OpenAPI 3 file for the hospital API before any code, in a repo named api-design-internship.
  8. Mock server. Run a mock server from your OpenAPI file (Prism or Postman mock) and call it.
  9. Query parameters. Design filtering, sorting, field selection and search parameters for the appointments list.
  10. Pagination. Compare offset, page-number and cursor pagination and design cursor pagination for one endpoint.
  11. Idempotency. Explain idempotent methods and design an Idempotency-Key header for creating payments.
  12. API style guide. Write a one-page API style guide for your team covering naming, dates, errors and versioning.
  13. Design review checklist. Write a 25-point API design review checklist.
  14. Naming exercise. Rename 15 badly named endpoints and fields and explain each change.
  15. Status code decisions. For 15 scenarios, choose the right status code and justify it.
  16. Enums and nulls. Decide how your API represents enums, missing values and empty lists, and document it.
  17. Money and units. Design how prices, currencies and units are represented (for example paise as integers).
  18. Localisation in APIs. Design how your API handles language and time zones.
  19. Bulk operations. Design a bulk create endpoint with partial failure reporting.
  20. Search API. Design a search endpoint with filters, facets and sorting.
  21. File upload API. Design direct-to-storage file upload with pre-signed URLs.
  22. API changelog. Write a changelog for three versions of your API.
  23. Postman collection. Publish a Postman collection with examples for every endpoint.
  24. Linting OpenAPI. Lint your OpenAPI file with Spectral and fix the warnings.
Level 2: Building real features (20 tasks)
  1. Implement the API. Implement the hospital API from your OpenAPI file and check the code matches the contract.
  2. Contract tests. Add tests that fail when the implementation stops matching the OpenAPI contract.
  3. Authentication design. Compare API keys, OAuth 2.0 and JWT, and design authentication for patients, doctors and partner apps.
  4. Authorisation. Design scopes or roles so each client can only reach the data it should, and test them.
  5. Versioning. Compare URL, header and media-type versioning and make a breaking change safely with a new version.
  6. Rate limiting design. Design rate limits per client and the response headers that tell clients their limit.
  7. Caching headers. Use ETag, Cache-Control and conditional requests on read endpoints and show a 304 response.
  8. Long-running operations. Design an endpoint that starts a report job and lets clients poll or receive a webhook when it is done.
  9. Webhooks design. Design webhooks with event types, retries, signatures and a test endpoint.
  10. Developer docs. Publish interactive docs with examples, a quickstart and an authentication guide.
  11. SDK generation. Generate a client SDK from your OpenAPI file and use it in a small app.
  12. Consumer-driven contracts. Use Pact or a similar tool for consumer-driven contract tests.
  13. Hypermedia links. Add useful links (next page, related resources) to responses.
  14. Partial responses. Support a fields parameter so clients can request only the fields they need.
  15. Concurrency control. Use ETags with If-Match to prevent lost updates.
  16. Batch requests. Design a batch endpoint for several operations in one call and explain the trade-offs.
  17. Event-driven API. Describe an event stream with AsyncAPI.
  18. Public vs internal APIs. Write the different rules you would apply to public and internal APIs.
  19. Developer onboarding. Design the sign-up to first API call journey with API keys and a sandbox.
  20. Error catalogue. Publish a catalogue of all error codes with causes and fixes.
Level 3: Professional work and capstone (16 tasks)
  1. GraphQL schema. Design a GraphQL schema for the same domain and compare it with your REST design.
  2. gRPC service. Define a gRPC service in a .proto file for internal service-to-service calls and generate a client.
  3. API gateway. Put a gateway in front of your API for auth, rate limits and logging.
  4. API security review. Review your API against the OWASP API Security Top 10 and fix at least three issues.
  5. Deprecation plan. Write a deprecation policy and announce the retirement of an old endpoint with Sunset headers.
  6. API analytics. Log usage per endpoint and client and build a small dashboard of calls, errors and latency.
  7. Design review. Review a classmate's API design with a checklist and suggest concrete improvements.
  8. Capstone: public API product. Ship a documented, versioned, secured API with an SDK or client example, tests, a changelog and a design document explaining your choices.
  9. API product thinking. Write a one-page API product plan: users, value, pricing tiers and limits.
  10. Gateway policies. Configure quotas, caching and auth policies in an API gateway.
  11. Multi-version support. Run two API versions side by side from one codebase and test both.
  12. Breaking change rollout. Plan and simulate a breaking change rollout with communication and metrics.
  13. Security testing. Run automated API security tests (ZAP API scan or similar) and fix findings.
  14. API governance. Write governance rules for a company with 10 teams building APIs.
  15. Design critique. Critique a public API's design and propose improvements with examples.
  16. Capstone 2: API platform. Deliver an API platform with gateway, docs portal, SDK, sandbox, analytics and a deprecation policy.

Real software work, not just training

Every API Design task is reviewed by our team and saved to your portfolio. Interns who pass the readiness check can take real work from Training Trains, W3AppDevelopers and DomainHostly projects on the Company Work board.

Full Stack Web Application Development
See the software we build →

Frequently asked questions

Do I need experience to join the API Design internship?+

Basic backend programming helps. HTTP fundamentals are covered in level 1.

What will I do in the API Design internship?+

You complete 60 graded tasks in three levels: foundations, real features, and professional work. Each task is submitted with GitHub or document proof and reviewed. The final capstone is: Capstone 2: API platform.

Do I get a certificate for the API Design internship?+

Yes. After your required tasks are approved, your attendance is above 75% and you pass the proctored final exam, you get a graded completion certificate that anyone can verify at trainingtrains.com/verify.

Can I do the API Design internship online?+

Yes. You can do it fully online from home, or offline at our Erode and Perundurai branches. Tasks, quizzes and mentor reviews are the same in both modes.

Available both online (work from home) and offline at our Erode and Perundurai branches - see the full internship program details for departments, duration, and the application process.