{"name":"EziBrand API documentation","description":"Order decoration programmatically: garments, embroidery, screenprint and transfers, quoted, submitted and tracked to despatch.","version":"V1","updated":"2026-09-11T08:03:35.937Z","versioning":{"policy":"latest-only","detail":"One URL per artifact, always current. There are no dated snapshots — refetch the artifact to get the current state."},"bootstrap":{"steps":[{"step":1,"action":"Read the agent guide","url":"https://integrate.ezibrand.com.au/developers/agents.md"},{"step":2,"action":"Load the machine-readable contract","url":"https://integrate.ezibrand.com.au/developers/openapi.json"},{"step":3,"action":"Never hardcode a catalogue or domain value the API supplies — price codes, processes, statuses, size runs, delivery methods and BOM variant codes are all per-account and all change."},{"step":4,"action":"Dry-run every job with \"validateOnly\": true before creating it — it runs the whole validation path and creates nothing. Send the COMPLETE payload including externalArtworkUrl: validation checks each artwork URL's shape and origin without fetching it, so creating the job changes nothing but the flag. An omitted, null or empty artwork URL is not checked at all."},{"step":5,"action":"When a call fails unexpectedly, check whether it is us before debugging yourself","url":"https://integrate.ezibrand.com.au/status.json"}]},"region":{"apiHost":"https://api.ezibrand.com.au","label":"Staging","note":"Credentials belong to exactly one region and only work against that region’s host. Which host is stated when they are issued."},"publishedOperations":37,"specSource":"upstream","artifacts":[{"name":"openapi","url":"https://integrate.ezibrand.com.au/developers/openapi.json","format":"application/json","spec":"OpenAPI 3.0.1","audience":"agents, codegen","description":"The machine-readable spec: every published operation with descriptions, examples and field documentation."},{"name":"agents-guide","url":"https://integrate.ezibrand.com.au/developers/agents.md","format":"text/markdown","audience":"coding agents","description":"Read first. The ordering sequence, the working rules, and the traps that are not visible from the schema.","note":"Content-negotiated: Markdown by default, HTML to a browser."},{"name":"llms-full","url":"https://integrate.ezibrand.com.au/developers/llms-full.txt","format":"text/plain","audience":"agents","description":"Everything in one fetch — the guide plus every operation, field, example and error."},{"name":"status","url":"https://integrate.ezibrand.com.au/status","format":"text/html","audience":"agents, humans","description":"Current availability of the ordering API, website and documentation for this region, with 90 days of history.","note":"Check this before treating a 5xx as your own bug. Upstream failures are reported here as ours."},{"name":"status-json","url":"https://integrate.ezibrand.com.au/status.json","format":"application/json","audience":"agents","description":"The same status as the page, as JSON: per-component state and 90 days of daily history.","note":"`state: \"unknown\"` means NOT WATCHED — never read it as healthy."},{"name":"health","url":"https://integrate.ezibrand.com.au/api/health/developers","format":"application/json","audience":"operators","description":"Whether the published spec is being generated from live upstream or a committed fallback. Requires a shared secret."}]}