Reference
All /v1 responses use the { success, data, meta } envelope — see Responses. Every row below made one real request when this page loaded: the swatches are the colours in that answer, a count means the answer carries none, and an error prints the API's own message, verbatim.
Dyes 7 ENDPOINTS
GET/v1/dyes/dyesList all dyes with filtering, sorting, and pagination.GET/v1/dyes/:id/dyes/:idLook up a single dye; ID type inferred by range.GET/v1/dyes/stain/:stainId/dyes/stain/:stainIdLook up a dye by stain table ID (1–254).GET/v1/dyes/search/dyes/searchCase-insensitive substring match on names; localized when locale is set.GET/v1/dyes/categories/dyes/categoriesAll dye categories with their counts.GET/v1/dyes/batch/dyes/batchMultiple dyes by ID in one request; notFound array for misses.GET/v1/dyes/consolidation-groups/dyes/consolidation-groupsPatch 7.5 consolidation groups A / B / C and their members. Color Matching 2 ENDPOINTS
GET/v1/match/closest/match/closestThe single closest dye to a hex color.GET/v1/match/within-distance/match/within-distanceEvery dye within a distance of a hex color. Character Equipment 2 ENDPOINTS
POST/v1/chara/resolve/chara/resolveResolve .chara gear model keys to items.POST · no previewGET/v1/chara/icon/:iconId/chara/icon/:iconIdItem icon proxy (PNG).image · no preview Harmony 4 ENDPOINTS
GET/v1/wheels/wheelsThe five colour wheels harmony angles can be measured on.GET/v1/wheels/:id/wheels/:idOne wheel: its ring paint and where every dye sits on it.GET/v1/harmony/types/harmony/typesThe ten harmony types and their hue offsets.GET/v1/harmony/harmonyA dye for every slot of a harmony, on the wheel you choose.Health
bash
curl https://data.xivdyetools.app/healthReturns { "status": "ok", "timestamp": "..." } — no envelope, no auth, no rate limiting.