Coding

Api Test Plan

Try it

Plan tests for an API endpoint or service — functional, negative, and contract. Use when asked to test an API, write API test cases, plan REST/GraphQL endpoi...

What it does

APIs fail in specific, testable ways: wrong status codes, schema drift, missing auth checks, sloppy validation, unhelpful errors. This skill plans the tests that catch them — per endpoint, across the response codes and the error paths, with contract checks so the API keeps its promises to clients.…

The skill document

API Test Plan Skill

APIs fail in specific, testable ways: wrong status codes, schema drift, missing auth checks, sloppy validation, unhelpful errors. This skill plans the tests that catch them — per endpoint, across the response codes and the error paths, with contract checks so the API keeps its promises to clients. It tests the whole behaviour, not just the happy 200.

Working from a brief

Given an endpoint or an API description, produce the test plan anyway — infer the likely parameters, responses, auth model, and error cases, labelling assumptions. Always include auth, validation, and negative cases. Never hand back a question instead of a plan.

Required Inputs

Ask for these only if they aren't already provided (else infer and label):

  • The API — REST/GraphQL, the endpoints/operations, and what they do.
  • Contract — request/response schemas, parameters, status codes (or an OpenAPI/spec if available).
  • Auth & rules — the auth model (token/scopes/roles), rate limits, and validation rules.
  • Dependencies & data — downstream services, and the data/state needed to test.

Output Format

API Test Plan: [API / endpoint]

Per endpoint, a set of cases grouped by type:

IDEndpointCaseTypeRequestExpected statusExpected body / assertion
API-01POST /ordersvalid createFunctionalvalid payload201body matches schema, id returned
API-02POST /ordersmissing fieldValidationpartial payload400error names the field
API-03POST /ordersno tokenAuthvalid payload, no auth401not created
API-04POST /orderswrong roleAuthzvalid payload, wrong scope403not created
API-05GET /orders/{id}not foundNegativeunknown id404error body

Cover deliberately: happy path (correct status + schema), validation (missing/invalid/extra fields, types, boundaries), auth/authz (no token, expired, wrong scope/role), negative (not found, conflict, bad method), idempotency/concurrency where relevant, and errors (correct codes + helpful, consistent error bodies).

Contract checks — responses conform to the schema; required fields, types, and status codes match the spec; backward compatibility for existing clients.

Non-functional notes — rate limiting, pagination, large payloads, latency expectations, and security basics (no sensitive data leakage, proper status for unauthorised).

Setup — test data, environment, and any mocks/stubs for dependencies.

Quality Checks

  • Each endpoint is tested beyond 200 — error codes (4xx/5xx) and their bodies are asserted
  • Auth and authorization cases are included (no token, expired, wrong scope/role)
  • Validation/boundary/negative cases cover missing, invalid, and extra inputs
  • Responses are checked against the schema/contract, incl. backward compatibility
  • Status codes match the spec and are used correctly (e.g. 401 vs. 403, 400 vs. 422)
  • Non-functional aspects (rate limits, pagination, data leakage) are noted

Anti-Patterns

  • Do not test only the happy 200 — most API bugs are in validation, auth, and error paths
  • Do not ignore the response schema — a 200 with the wrong body still breaks clients
  • Do not skip authz (role/scope) testing — "logged in" isn't "allowed"
  • Do not assert only status codes — check the body/contract too
  • Do not overlook error-body quality and correct status semantics (401 vs 403, 400 vs 404)

Based On

API testing practice — contract/schema validation, status-code correctness, auth/authz coverage, and negative/boundary testing beyond the happy path.

Related skills

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván558 installs18 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from mohitagw15856

Browse all skills

Extract a brand's visual and verbal identity into an applicable guideline kit — tokens, voice rules, and do/don't pairs — then apply it consistently to any a...

by mohitagw158562 installs

Write an executive summary for any document, report, or proposal. Use when asked to write an executive summary, management summary, briefing paper, or one-pa...

by mohitagw158562 installs

Convert a git log, commit list, or release notes into a polished, user-facing changelog. Use when writing release notes, generating a CHANGELOG.md entry, or...

by mohitagw158562 installs

Document or design a database schema with entity relationships, table definitions, constraints, indexes, and access patterns. Use when asked to design a data...

by mohitagw158561 installs

Structure a cohort analysis for retention, LTV, or behavioural patterns. Use when asked to run a cohort analysis, analyse retention by cohort, segment users...

by mohitagw158561 installs

Build a customer journey map for a product, service, or experience. Use when asked to map a customer journey, create a user journey, document touchpoints and...

by mohitagw158561 installs