A validation is a specific backend check — one API call, with defined expected responses and assertions. You build it on top of a Connection, which handles authentication. The validation itself defines the endpoint, the request details, and what you expect back.Documentation Index
Fetch the complete documentation index at: https://quashbugs.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Step 1 — Basic Info
- Open the Validations tab and click + Add Validation.
- Enter a Validation name. Make it specific and action-oriented — “Verify order created after checkout”, “Confirm product inventory decremented”, “Check user profile updated”. A name that describes what it verifies is more useful than one that describes the endpoint it calls.
- Add an optional Description explaining what this validation checks and why it matters. Useful context for teammates and for your future self.
- Select the Backend connection this validation runs against. The connection provides the base URL and authentication — the validation adds the specific endpoint path on top of it.
- Click Continue.
Step 2 — HTTP Request
Configure the API call this validation makes.HTTP Method
Select the method that matches the operation:| Method | Use for |
|---|---|
| GET | Fetching data without modifying anything — reading an order, checking inventory, retrieving a user profile |
| POST | Creating a new resource — submitting a form, creating an order, registering a user |
| PUT | Replacing an existing resource entirely |
| PATCH | Updating part of an existing resource — changing a name, updating a status |
| DELETE | Removing a resource |
Endpoint path
Enter the path relative to the base URL defined in the connection. Do not repeat the base URL.Query parameters (optional)
Add key-value pairs appended to the URL as query string parameters. Use for filters, pagination, search terms, or any parameter your endpoint accepts in the URL.Custom headers (optional)
Add headers specific to this endpoint — content type declarations, feature flags, or endpoint-specific authentication that differs from the connection-level auth. These apply only to this validation, not to other validations using the same connection.Step 3 — Response Validation
Define what a successful response looks like.Status codes
Select the HTTP status code you expect. Choose from the defaults (200, 201, 202, 204, 400, 404) or enter a custom code. The validation fails if the response code does not match. For most verification checks after a successful UI action, expect 200 OK. For creation endpoints called after a form submission, expect 201 Created.Request timeout
Default is 5,000ms (5 seconds). Increase for endpoints that are known to be slow — external payment processors, heavy reporting queries, or endpoints that aggregate data from multiple services.Retry attempts and backoff
Configure how many times the validation should retry on failure before reporting a definitive fail result, and the delay between retries. Use retries for eventually-consistent backends where state may not be immediately reflected after a UI action — for example, an order that takes 2–3 seconds to appear in the database after the checkout button is tapped.| Setting | Recommendation |
|---|---|
| Retry attempts | 2–3 for eventually-consistent backends, 0 for synchronous APIs |
| Retry backoff | 1,000–2,000ms — gives the backend time to settle |
Expected response data (optional)
Assert that the response body contains specific values. Supports two assertion types: JSON Path assertions Check a specific field inside a JSON response. Enter the JSON path and the expected value.Extract variables (optional)
Capture a value from the response and store it as a variable for use in subsequent steps. Useful when an earlier validation produces an ID or token that a later validation or task step needs to use.{{order_id}} in subsequent prompts and validations within the same task run.
Mark as required
When enabled, a failure in this validation causes the entire task or suite run to fail — not just the individual step. Use for validations that represent absolute pass conditions: if the order was not created in the backend, the test has failed regardless of what happened on screen. Leave disabled for advisory checks where a failure is worth noting but should not block the run.Step 4 — Advanced Options (Prompt Action)
Configure this validation to be callable inline inside task prompts using@slug.
Enable prompt action — toggle ON to make this validation available via @slug in prompts.
Action slug — the identifier you type in a prompt to call this validation. Keep it short, lowercase, and hyphenated.
@slug in a prompt.
{{parameter_name}} syntax.
Saving the validation
Click Save Validation. The validation appears in the Validations tab, ready to use in task settings or via@slug in prompts.