# Virtual Tailor

The Virtual Tailor is an API that predicts over 50 body measurements based on a minimum number of  inputs, including height, weight, and age. All responses are returned as JSON.

See [Common API Topics](https://docs.boldmetrics.io/common-api-topics) for global patterns across all endpoints.

### API

## Virtual Tailor API

<mark style="color:blue;">`GET`</mark> `https://api.boldmetrics.io/virtualtailor/get`

Please note the `client_id` and `user_key` requirements, along with the minimum required inputs.

#### Path Parameters

| Name                                   | Type   | Description        |
| -------------------------------------- | ------ | ------------------ |
| Host<mark style="color:red;">\*</mark> | String | api.boldmetrics.io |

#### Query Parameters

| Name                                                       | Type    | Description                                                                                                                                                                                           |
| ---------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| client\_id<mark style="color:red;">\*</mark>               | String  | Your account ID provided by Bold Metrics                                                                                                                                                              |
| user\_key<mark style="color:red;">\*</mark>                | String  | Your secret key provided by Bold Metrics                                                                                                                                                              |
| weight<mark style="color:red;">\*</mark>                   | Integer | Weight in pounds                                                                                                                                                                                      |
| height<mark style="color:red;">\*</mark>                   | Integer | Height in inches                                                                                                                                                                                      |
| waist\_circum\_preferred<mark style="color:red;">\*</mark> | Integer | **\[required for male garments]** Waist circumference at preferred in inches                                                                                                                          |
| sleeve\_type                                               | String  | Type of sleeve measurement for given sleeve input. Choices include `ARS` : the `acromion-radial-styloid` length or nape-to-wrist for values larger than 29 inches, or `SO` : `sleeve outseam` length. |
| bra\_size<mark style="color:red;">\*</mark>                | String  | **\[required for female garments]** Bra size of client, such as 30B                                                                                                                                   |
| age<mark style="color:red;">\*</mark>                      | Integer | Age in years                                                                                                                                                                                          |
| jean\_inseam                                               | Float   | Inseam of pants/trousers in inches                                                                                                                                                                    |
| shoe\_size\_us                                             | Float   | Shoe size                                                                                                                                                                                             |
| jacket\_size                                               | String  | Jacket size; e.g. 38R                                                                                                                                                                                 |
| sleeve                                                     | Float   | Length of sleeve base on sleeve\_type in inches                                                                                                                                                       |
| chest\_circum                                              | Float   | Chest circumference at preferred in inches                                                                                                                                                            |
| gender                                                     | String  | Either “m” for men or “w” for women                                                                                                                                                                   |
| fm\_shoulder                                               | float   | Shoulder width in inches                                                                                                                                                                              |
| hip\_circum                                                | Float   | Hip circumference in inches                                                                                                                                                                           |
| overarm                                                    | Float   | Shoulder circumference in inches                                                                                                                                                                      |
| sleeve\_inseam                                             | Float   | Inseam of sleeve in inches                                                                                                                                                                            |
| thigh                                                      | Float   | Thigh circumference in inches                                                                                                                                                                         |
| neck\_circum\_base                                         | Float   | Neck circumference at base of neck, usual collar size in inches.                                                                                                                                      |
| waist\_circum\_stomach                                     | Float   | Waist circumference at naval in inches                                                                                                                                                                |
| waist\_height\_preferred                                   | Float   | Waist height at preferred in inches                                                                                                                                                                   |
| locale                                                     | String  | Two-letter country code for user locale, modifies **bra\_size**                                                                                                                                       |
| anon\_id                                                   | Sring   | Unique identifier for customer being fitted                                                                                                                                                           |

#### Headers

| Name                                     | Type   | Description                                          |
| ---------------------------------------- | ------ | ---------------------------------------------------- |
| Accept<mark style="color:red;">\*</mark> | String | the response content type depends on *Accept* header |

{% tabs %}
{% tab title="200: OK See code snippet" %}

```javascript
 HTTP/1.1 200 OK
 Vary: Accept
 Content-Type: text/javascript

{
  "code": 200,
  "customer": {
    "height": 72.00,
    "sleeve_type": "ARS",
    "waist_circum_preferred": 30.00,
    "weight": 150.00
  },
  "dimensions": {
    "acromion_height": 58.57,
    "acromion_radial_len": 13.40,
    "acromion_radial_stylion_len": 24.19,
    ...
  },
  "message": {
    "overall": "OK"
  },
  "outlier": false,
  "outlier_messages": {
    "overall": "All good",
    "specifics": []
}
```

{% endtab %}

{% tab title="400: Bad Request Bad Request" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="401: Unauthorized Unauthorized `client_id` and/or `user_key`" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="404: Not Found Not Found" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="429: Too Many Requests Too Many Requests" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="500: Internal Server Error Internal Server Error" %}

```javascript
{
    // Response
}
```

{% endtab %}
{% endtabs %}

## **Example Response**

```
 HTTP/1.1 200 OK
 Vary: Accept
 Content-Type: text/javascript

{
  "code": 200,
  "customer": {
    "height": 72.00,
    "sleeve_type": "ARS",
    "waist_circum_preferred": 30.00,
    "weight": 150.00
  },
  "dimensions": {
    "acromion_height": 58.57,
    "acromion_radial_len": 13.40,
    "acromion_radial_stylion_len": 24.19,
    ...
  },
  "message": {
    "overall": "OK"
  },
  "outlier": false,
  "outlier_messages": {
    "overall": "All good",
    "specifics": []
}
```

## **Body Measurements**

The following set of parameters refer to the upper and lower bounds of customers body measurements. Any inputs outside of these bounds will either return without a prediction, or will have lower accuracy.

**In order to return results with any acceptable level of accuracy, the Virtual Sizer requires a minimum of five measurement inputs.** Among those five inputs are required values for *height*, *weight*, *waist\_circum\_preferred* for men, and *bra\_size* for women.

Additionally the range allowed for each measurement input is as follows:

| Input                    | Men            | Women          |
| ------------------------ | -------------- | -------------- |
| age                      | 13 – 89        | 13 – 89        |
| bra\_size                | N/A            | See below.     |
| chest\_circum            | 29.30 – 63.01  | 27.99 – 63.81  |
| fm\_shoulder             | 12.69 – 21.52  | 8.88 – 25.36   |
| height                   | 51.78 – 85.93  | 48.5 – 82.0    |
| hip\_circum              | 31.33 – 72.20  | 30.99 – 70.88  |
| jean\_inseam             | 15.35 – 42.00  | 19.45 – 38.14  |
| neck\_circum\_base       | 13.67 – 24.48  | 11.21 – 49.49  |
| overarm                  | 38.45 – 69.08  | 35.61 – 76.12  |
| sleeve\_inseam           | 13.02 – 23.55  | 11.93 – 23.10  |
| sleeve (type ARS)        | 13.85 – 40.59  | 17.39 – 38.50  |
| sleeve (type SO)         | 17.03 – 29.33  | 14.79 – 27.26  |
| thigh\_circum\_proximal  | 16.93 – 40.08  | 16.27 – 41.60  |
| waist\_circum\_preferred | 24.38 – 67.01  | 21.93 – 62.17  |
| waist\_circum\_stomach   | 25.75 – 63.19  | 24.02 – 64.06  |
| waist\_height\_preferred | 26.77 – 54.40  | 25.08 – 49.49  |
| weight                   | 96.50 – 460.25 | 70.51 – 422.94 |

## Locale

Bra sizes have a band and a cup size. Supported U.S. bra band sizes are 30 – 52, and supported cup sizes range from AA – J, with support for DD, and DDD. The API translates supported non-U.S. bra band and cup sizes to an approximate U.S. match which must fall within these bounds.

Accepted locales are as follows:

| Locale | Country       |
| ------ | ------------- |
| AU     | Australia     |
| EU     | Europe        |
| FR     | France        |
| GB     | Great Britain |
| IT     | Italy         |
| JP     | Japan         |
| US     | United States |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.boldmetrics.io/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
