# 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 |
