Acceptance Criteria · Schema
AcceptanceCriterion
A single testable condition that must be met for a user story to be accepted as complete
AgileBehavior Driven DevelopmentGherkinQuality AssuranceRequirementsTestingUser Stories
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the acceptance criterion |
| storyId | string | ID of the parent user story |
| description | string | Plain-language description of the acceptance condition |
| format | string | Format used to express the criterion |
| given | string | Gherkin Given clause (context/precondition) if format is gherkin |
| when | string | Gherkin When clause (action/trigger) if format is gherkin |
| then | string | Gherkin Then clause (expected outcome) if format is gherkin |
| status | string | Verification status of this criterion |
| order | integer | Display order position within the parent story |
| createdAt | string | Timestamp when the criterion was created |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api.example.com/schemas/acceptance-criterion.json",
"title": "AcceptanceCriterion",
"type": "object",
"description": "A single testable condition that must be met for a user story to be accepted as complete",
"required": [
"id",
"description"
],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the acceptance criterion"
},
"storyId": {
"type": "string",
"description": "ID of the parent user story"
},
"description": {
"type": "string",
"description": "Plain-language description of the acceptance condition"
},
"format": {
"type": "string",
"description": "Format used to express the criterion",
"enum": [
"plain-text",
"gherkin",
"checklist"
]
},
"given": {
"type": "string",
"description": "Gherkin Given clause (context/precondition) if format is gherkin"
},
"when": {
"type": "string",
"description": "Gherkin When clause (action/trigger) if format is gherkin"
},
"then": {
"type": "string",
"description": "Gherkin Then clause (expected outcome) if format is gherkin"
},
"status": {
"type": "string",
"description": "Verification status of this criterion",
"enum": [
"not-verified",
"passing",
"failing"
]
},
"order": {
"type": "integer",
"description": "Display order position within the parent story"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the criterion was created"
}
}
}