How to Define Acceptance Criteria for APIs
by Eric Hanson, Backend Developer at Clean Systems Consulting
Most API problems aren’t technical—they’re unclear expectations. That’s where acceptance criteria come in.
Start With What “Done” Actually Means
A lot of API work starts with vague requests: “create an endpoint” or “return user data.”
That’s not a definition—that’s a guess.
Before writing a single line of code, ask:
- What should this API do, exactly?
- What does success look like for the caller?
- What should never happen?
If “done” isn’t clear, everything else becomes a debate later.
Define Inputs and Outputs Clearly
APIs are contracts. And contracts need specifics.
- What parameters are required?
- What format should the request follow?
- What does the response look like?
Be explicit:
- Data types
- Required vs optional fields
- Example requests and responses
Ambiguity here is the fastest way to create bugs and misunderstandings.
Cover the Edge Cases (Not Just the Happy Path)
Most APIs work perfectly—until they don’t.
Acceptance criteria should go beyond “it returns data.”
- What happens if the user doesn’t exist?
- What if the input is invalid?
- What if the system is down or slow?
Define expected behavior for:
- Errors (status codes, messages)
- Empty results
- Timeouts or retries
The real quality of an API shows up when things go wrong.
Make It Testable, Not Just Readable
Good acceptance criteria aren’t just nice to read—they’re easy to verify.
- Can QA turn this into test cases?
- Can developers write automated tests from it?
- Can you check it without guessing?
Instead of vague statements like:
- “API should be fast”
Write something measurable:
- “Response time under 300ms for 95% of requests”
If you can’t test it, you can’t trust it.
Align Everyone Before Writing Code
One of the biggest mistakes is treating acceptance criteria as documentation after the fact.
They should be agreed on before development starts.
- Developers understand what to build
- Product owners confirm expectations
- Stakeholders reduce surprises
A quick alignment upfront can save days of rework later.
Clarity early is cheaper than fixes later.
Keep It Simple and Focused
You don’t need a 10-page document for every API.
- Focus on behavior, not implementation
- Avoid unnecessary technical details
- Keep it concise but complete
Think of acceptance criteria as a checklist, not a novel.
The goal is shared understanding, not documentation for its own sake.
At the end of the day, a well-defined API isn’t just about clean code—it’s about clear agreements. Get that right, and everything else gets easier.