Programming foundations

Build and consume REST APIs

Design and ship HTTP APIs (FastAPI/Flask/Express), call third-party APIs, handle auth, errors and rate limits.

~20 focused hours·beginner

Tools: FastAPI, Pydantic, Uvicorn, requests/httpx, OpenAPI/Swagger, JWT/OAuth2

What employers mean

You should be able to…

  1. Design REST endpoints (routes, status codes, pagination) for a resource like documents or chat sessions
  2. Validate request/response bodies with Pydantic models instead of raw dicts
  3. Call a third-party API (payment gateway, LLM provider) and handle timeouts, retries and rate limits
  4. Add authentication (API key or OAuth2/JWT) to protect endpoints
  5. Auto-generate and read OpenAPI/Swagger docs for an API you built or consumed
  6. Version an API (v1/v2) without breaking existing clients
  7. Write integration tests against a running API using a test client

Needs first: Write production-quality Python for AI work

Learn — free, link-checked

The few resources that matter

Read · beginner · 120 min · fastapi.tiangolo.com

FastAPI — User Guide / Tutorial

The official, example-driven walkthrough from hello-world to a typed, validated, auto-documented API — the framework Indian AI job posts name most. — FastAPI (tiangolo)
Watch · beginner · 120 min · youtube.com

Python API Development - Comprehensive Course for Beginners

A full build-along (FastAPI + Postgres) showing how routing, models and a database fit together end to end, not just isolated snippets. — freeCodeCamp.org
Read · intermediate · 35 min · owasp.org

OWASP API Security Project

API-specific risks (broken object auth, excessive data exposure) that generic web security lists miss — directly relevant to LLM API wrappers. — OWASP
Read · intermediate · 45 min · fastapi.tiangolo.com

FastAPI — Security (OAuth2, JWT)

Shows how to add real OAuth2/JWT auth to an API — the exact gap between a toy endpoint and one that's safe to ship. — FastAPI (tiangolo)
Practice

Hindi Support-Ticket Summarizer API

Build a FastAPI service with endpoints to submit a Hindi/Hinglish support ticket, fetch its auto-generated English summary and priority, and list tickets with pagination. Validate all payloads with Pydantic, protect write endpoints with an API key, and add OpenAPI docs. Deploy locally with Uvicorn and write a Postman/httpx-based integration test suite.

Done when
  • GET /docs renders working OpenAPI documentation with example requests
  • POST /tickets rejects malformed payloads with a 422 and a clear error message
  • GET /tickets supports limit/offset pagination and returns correct total counts
  • Protected endpoints return 401 without a valid API key, verified by an automated test
Prove it

Evidence a recruiter can check

  • Public GitHub repo with README, a live or reproducible /docs endpoint, and example curl requests
  • Postman collection or pytest+httpx test file demonstrating the endpoints work end to end
  • A short note on one design decision (e.g. why you chose PATCH over PUT, or how you handled rate limits)
Interview

Questions you'll get asked

  1. How would you design an endpoint to upload and process a large PDF asynchronously?
  2. What's the difference between PUT and PATCH, and when do you use each?
  3. How do you validate that a request body matches an expected schema in FastAPI?
  4. How would you handle a third-party API that rate-limits you at 60 requests/minute?
  5. Walk me through how you'd add pagination to a `/documents` list endpoint with 100k rows.
  6. How do you version an API without breaking mobile clients still on v1?
  7. What status code would you return if an LLM call times out, and why?
See where you stand for AI Automation Specialist