priv/docs/cloudflare_images_variants.md

# Cloudflare Images Variants

## Create a variant

**POST** `/accounts/{account_id}/images/v1/variants`

Specify variants that allow you to resize images for different use cases.

### Responses

#### 200 Create a variant response

> Data is at `body["result"]`

```json
{
  "variant": {
    "id": "*string*",
    "neverRequireSignedURLs": "*boolean*",
    "options": {
      "fit": null,
      "height": null,
      "metadata": null,
      "width": null
    }
  }
}
```

#### 4XX Create a variant response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```



## List variants

**GET** `/accounts/{account_id}/images/v1/variants`

Lists existing variants.

### Responses

#### 200 List variants response

> Data is at `body["result"]`

```json
{
  "variants": {
    "hero": {
      "id": "*string*",
      "neverRequireSignedURLs": "*boolean*",
      "options": {
        "fit": null,
        "height": null,
        "metadata": null,
        "width": null
      }
    }
  }
}
```

#### 4XX List variants response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```



## Update a variant

**PATCH** `/accounts/{account_id}/images/v1/variants/{variant_id}`

Updating a variant purges the cache for all images associated with the variant.

### Responses

#### 200 Update a variant response

> Data is at `body["result"]`

```json
{
  "variant": {
    "id": "*string*",
    "neverRequireSignedURLs": "*boolean*",
    "options": {
      "fit": null,
      "height": null,
      "metadata": null,
      "width": null
    }
  }
}
```

#### 4XX Update a variant response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```



## Variant details

**GET** `/accounts/{account_id}/images/v1/variants/{variant_id}`

Fetch details for a single variant.

### Responses

#### 200 Variant details response

> Data is at `body["result"]`

```json
{
  "variant": {
    "id": "*string*",
    "neverRequireSignedURLs": "*boolean*",
    "options": {
      "fit": null,
      "height": null,
      "metadata": null,
      "width": null
    }
  }
}
```

#### 4XX Variant details response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```



## Delete a variant

**DELETE** `/accounts/{account_id}/images/v1/variants/{variant_id}`

Deleting a variant purges the cache for all images associated with the variant.

### Responses

#### 200 Delete a variant response

> Data is at `body["result"]`

```json
{}
```

#### 4XX Delete a variant response failure

```json
{
  "errors": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "messages": [
    {
      "code": "*integer*",
      "message": "*string*"
    }
  ],
  "result": {},
  "success": "*boolean*"
}
```