# Verdant Dock > A fictional retailer of self-moving AutoPlanters and rare exotic plants, built as a realistic system under test for UI, API, security and load testing. Nothing is real: no goods, no charges, no deliveries. Crawlers, test bots and AI agents are welcome to read, index and automate all three apps. Part of testthis.now (https://testthis.now/llms.txt). Use invented data only, never real personal details or a real payment card. Automation and moderate load are welcome; activity is logged with source addresses. ## Apps - [Shop](https://shop.verdant-v1.testthis.now): customer storefront. Sign-up with emailed code and mandatory TOTP MFA, cart, mock card payment, insurance, truck delivery booking, claims, support cases, a blog, and an AI chat assistant for signed-in customers - [Staff portal](https://staff.verdant-v1.testthis.now): staff enrolment, customers, orders, deliveries, support cases and claims - [Warehouse](https://warehouse.verdant-v1.testthis.now): orders allocated to trucks by day; uses the staff account but issues its own tokens ## Machine-readable content - [This guide with every blog post in full](https://shop.verdant-v1.testthis.now/llms-full.txt) - [API guide](https://shop.verdant-v1.testthis.now/api-guide.md): start here to call the API - the main flows step by step (sign-up with email code and TOTP, orders, courier, test clock, claims, support, staff), with the operationId, request body and where each value comes from - [API reference (OpenAPI 3.2.1, JSON)](https://shop.verdant-v1.testthis.now/openapi-3.2.json): all 114 operations of https://api.verdant-v1.testthis.now with operationIds, schemas, error codes and real examples (YAML: https://shop.verdant-v1.testthis.now/openapi-3.2.yaml) - [API reference (OpenAPI 3.0.3, JSON)](https://shop.verdant-v1.testthis.now/openapi.json): the same description for tools that don't read OpenAPI 3.2 yet, such as Postman import (YAML: https://shop.verdant-v1.testthis.now/openapi.yaml) - [Arazzo 1.1.0 workflows](https://shop.verdant-v1.testthis.now/arazzo.yaml): the main flows as executable workflows (sign-up, sign-in, truck and courier orders, declined payment, test clock and cover, support case, staff review, full journey); run with an Arazzo runner such as `redocly respect` (JSON: https://shop.verdant-v1.testthis.now/arazzo.json) - [Postman collection](https://shop.verdant-v1.testthis.now/postman/verdant-dock.postman_collection.json): runs the main flows end to end, computing TOTP codes and chaining ids (environment: https://shop.verdant-v1.testthis.now/postman/verdant-dock.postman_environment.json) - [Blog posts as JSON](https://shop.verdant-v1.testthis.now/blog.json): the four posts about the AutoPlanter; the chat assistant knows them, so they are the reference for checking its product answers - [Catalogue](https://api.verdant-v1.testthis.now/v1/catalogue): products, sizes and prices, no sign-in needed - [Observability](https://shop.verdant-v1.testthis.now/observe.html): what any request, click or test run did inside the system (OpenTelemetry traces from AWS X-Ray, cleaned, by id only). JSON: https://api.verdant-v1.testthis.now/v1/observe/traces/{traceId} and https://api.verdant-v1.testthis.now/v1/observe/runs/{runId} - [Cover plans](https://api.verdant-v1.testthis.now/v1/cover-plans): insurance plans, no sign-in needed ## Working with the apps - API base: https://api.verdant-v1.testthis.now. Errors are RFC 7807 problem+json with a stable `code`. Send `X-Correlation-Id` to trace a request. - Every response carries `X-Vd-Trace-Id`: GET https://api.verdant-v1.testthis.now/v1/observe/traces/ returns the trace (where the time went, every AWS call, cold starts) as JSON, or 202 while X-Ray is still receiving it. Send `X-Vd-Run: ` with every request of a test run and read the whole run back at https://api.verdant-v1.testthis.now/v1/observe/runs/. - Test mailbox: sign up with any address at @verdant-v1.testthis.now and read its mail, including the 6-digit code, with GET https://api.verdant-v1.testthis.now/v1/test-mailbox/latest?to=
&wait=10&subject=verify (no inbox or key needed). - MFA is TOTP (RFC 6238, SHA-1, 6 digits, 30 seconds). Store the secret shown at enrolment and generate codes from it. - Mock cards: any Visa or Mastercard number that passes the Luhn check, with a future expiry. A CVV ending in 0 is declined; any other CVV is approved. - Test clock: a signed-in session can move its business date forward with PUT https://api.verdant-v1.testthis.now/v1/test-clock {"offsetDays": n}. It resets at the next sign-in. - Support cases by email: support-verdant-v1@testthis.now - The web pages are single-page apps with hash routes (#/shop, #/cart, #/blog/). Interactive elements carry stable data-testid attributes for UI automation.