Modern QA2026Status Codes to Verify — tiles
Log inJoin
18 / 65 · 14 API Testing Fundamentals · Response Validation← prev⊞ allnext →☰ Read as one page

3.2Status Codes to Verify

Test both the expected success code and the failure modes:

Scenario Expected Code What to Verify
Successful GET 200 Body contains expected data
Successful POST 201 Body or Location header contains new resource ID
Successful DELETE 204 Subsequent GET returns 404
Validation error 400 or 422 Error message identifies the invalid field
Unauthorized 401 Missing or expired token
Forbidden 403 Valid token, insufficient permissions
Not found 404 Non-existent resource
Conflict 409 Duplicate creation attempt
def test_get_user_success(api, create_user):
    user = create_user(name="Alice")
    r = api.get(f"/users/{user['id']}")
    assert r.status_code == 200

def test_get_nonexistent_user(api):
    r = api.get("/users/99999999")
    assert r.status_code == 404

def test_create_duplicate_email(api, create_user):
    user = create_user(email="unique@test.com")
    r = api.post("/users", json={"name": "Duplicate", "email": "unique@test.com"})
    assert r.status_code == 409