---
title: "For developers"
audience: "An integrator or an automated agent implementing a recipe"
goal: "Find the host, the credential, and the reference page for a recipe that was already chosen"
status: live
do_not:
  - "Start here before choosing an outcome"
  - "Put an API key in storefront JavaScript"
  - "Use the clothing size endpoint for shoes"
manual: true
last_updated: "2026-09-22"
description: "Read the recipe first. This page is the index behind it. Choose an outcome is the index in front of it."
---


# For developers

Read the recipe first. This page is the index behind it. [Choose an outcome](../start/choose.md) is the index in front of it.

The [integrator checklist](../get-started/integrator.md) is the short order of operations: key, canonical calls, then the platform app if the merchant is on Shopify or WooCommerce.

## Hosts

| Host | Use it for | Credential |
|------|------------|------------|
| [api.wearfits.com](https://api.wearfits.com) | `POST /api/v1/shoe-3d`, `GET /api/v1/jobs/{jobId}`, `POST /api/v1/digital-twin`, `POST /api/v1/virtual-fitting`, `POST /api/v1/size-fitting` | `X-API-Key` from the Dashboard, server-side |
| [dev.wearfits.com](https://dev.wearfits.com) | AR library, model upload, viewer at `/tryon` | Dashboard account, or the upload API's own auth as documented |
| [tryon.wearfits.com](https://tryon.wearfits.com) | Clothing embed, shoe sandbox at `/shoes`, hosted integration notes | Shoppers: none. Sandbox and API: the Dashboard key |
| [size.wearfits.com](https://size.wearfits.com) | Foot scan and `sdk/v1/index.js` | Public `clientId` registered by WEARFITS. Not the API key. |
| [dash.wearfits.com](https://dash.wearfits.com) | Keys, usage, billing | Magic link. Shopify merchants skip it. |

Interactive API explorer: [api.wearfits.com/reference](https://api.wearfits.com/reference).

## Calls, and the page that specifies them

| Job | Call | Reference |
|-----|------|-----------|
| Shoe photos to a model | `POST /api/v1/shoe-3d`, then `GET /api/v1/jobs/{jobId}` | [2D to 3D API](../shoe3d-generator/api-reference.md) |
| Upload a shoe GLB | `POST /tryon/api/upload_shoe` on [dev.wearfits.com](https://dev.wearfits.com), header `Authorization: Bearer` | [AR API](../ar-tryon/api-reference.md). Bags and non-GLB files use the library UI, not this call. Viewer: [AR SDK](../ar-tryon/sdk-guide.md) |
| Clothing twin and fitting | `POST /api/v1/digital-twin`, `POST /api/v1/virtual-fitting` | [Clothing API](../genai-tryon/api-reference.md), [Clothing SDK](../genai-tryon/sdk-guide.md) |
| Clothing size | `POST /api/v1/size-fitting` | [Recommend a clothing size](../clothing/recommend-size.md) |
| Shoe size | Size SDK. No size-fitting call. | [Recommend a shoe size](../shoes/recommend-size.md), [Size SDK](../size/sdk-guide.md) |

New shoe integrations use `POST /api/v1/shoe-3d`. Do not invent a `/shoe3d` path.

Hosted embed notes also live at [tryon.wearfits.com/docs/integration-shoes](https://tryon.wearfits.com/docs/integration-shoes) and [tryon.wearfits.com/docs/integration](https://tryon.wearfits.com/docs/integration).

## Rules that keep an integration valid

- Choose the recipe before choosing an endpoint. Visual try-on and size are different products.
- Keep the API key on the server. Browser snippets for AR and clothing follow the SDK guide for that product.
- Shoe size: register origins first, send millimetres, treat `confidence: "advisory"` as a hard constraint. Do not block checkout.
- Clothing size: body ranges, chart version `1`, basis `"body"`. A photo-mode twin returns `available: false`.
- Usage for AR and clothing try-on is reported by the product SDKs. There is no public API for custom server-to-server usage reporting.
- Prefer the Shopify app or the WooCommerce plugin when the merchant is on that platform. Build a custom embed when the recipe says the app does not cover the outcome (shoe size, bags).

## Markdown link

Every page on this wiki has **Copy Markdown link** at the top. It copies an absolute URL such as `https://wiki.wearfits.com/md/shoes/recommend-size.md`. Opening that URL returns the page's Markdown, not the HTML. Give that URL to an agent when it should read one page.

The same control on a preview host copies that host's origin, so the link matches the site you are looking at.

## Reference library

The product manuals — user guides, API references, and SDK guides — are under **Reference** in the sidebar. Use them for fields and error codes after the recipe has named the outcome.
