openapi: 3.0.2
info:
title: Klaviyo Accounts Images API
version: '2026-04-15'
description: The Klaviyo REST API. Please visit https://developers.klaviyo.com for more details.
contact:
name: Klaviyo Developer Experience Team
email: developers@klaviyo.com
url: https://developers.klaviyo.com
termsOfService: https://www.klaviyo.com/legal/api-terms
license:
name: License
url: https://www.klaviyo.com/legal
servers:
- url: https://a.klaviyo.com
description: Production
security:
- Klaviyo-API-Key: []
tags:
- name: Images
description: images
paths:
/api/images:
get:
operationId: get_images
summary: Get Images
description: 'Get all images in an account.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`images:read`'
parameters:
- name: fields[image]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- format
- hidden
- image_url
- name
- size
- updated_at
explode: false
- name: filter
in: query
description: 'For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#filtering
Allowed field(s)/operator(s):
`id`: `any`, `equals`
`updated_at`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`
`format`: `any`, `equals`
`name`: `any`, `contains`, `ends-with`, `equals`, `starts-with`
`size`: `greater-or-equal`, `greater-than`, `less-or-equal`, `less-than`
`hidden`: `any`, `equals`'
schema:
type: string
example: equals(id,'7')
- name: page[cursor]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#pagination
required: false
schema:
type: string
- name: page[size]
in: query
description: 'Default: 20. Min: 1. Max: 100.'
required: false
schema:
type: integer
default: 20
maximum: 100
minimum: 1
- name: sort
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sorting
schema:
type: string
enum:
- format
- -format
- id
- -id
- name
- -name
- size
- -size
- updated_at
- -updated_at
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetImageResponseCollection'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Images
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- images:read
post:
operationId: upload_image_from_url
summary: Upload Image From URL
description: 'Import an image from a url or data uri.
If you want to upload an image from a file, use the Upload Image From File endpoint instead.
*Rate limits*:
Burst: `3/s`
Steady: `100/m`
Daily: `100/d`
**Scopes:**
`images:write`'
parameters:
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ImageCreateQuery'
responses:
'201':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PostImageResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Images
x-klaviyo-operation-aliases:
- create_image
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 3/s
steady: 100/m
daily: 100/d
x-klaviyo-scopes:
- images:write
/api/images/{id}:
get:
operationId: get_image
summary: Get Image
description: 'Get the image with the given image ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`images:read`'
parameters:
- name: id
in: path
description: The ID of the image
required: true
schema:
description: The ID of the image
type: string
example: '7'
- name: fields[image]
in: query
description: For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#sparse-fieldsets
required: false
schema:
type: array
items:
type: string
enum:
- format
- hidden
- image_url
- name
- size
- updated_at
explode: false
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/GetImageResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Images
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- images:read
patch:
operationId: update_image
summary: Update Image
description: 'Update the image with the given image ID.
*Rate limits*:
Burst: `10/s`
Steady: `150/m`
**Scopes:**
`images:write`'
parameters:
- name: id
in: path
description: The ID of the image
required: true
schema:
description: The ID of the image
type: string
example: '7'
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/ImagePartialUpdateQuery'
responses:
'200':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PatchImageResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Images
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 10/s
steady: 150/m
x-klaviyo-scopes:
- images:write
/api/image-upload:
post:
operationId: upload_image_from_file
summary: Upload Image From File
description: 'Upload an image from a file.
If you want to import an image from an existing url or a data uri, use the Upload Image From URL endpoint instead.
*Rate limits*:
Burst: `3/s`
Steady: `100/m`
Daily: `100/d`
**Scopes:**
`images:write`'
parameters:
- name: revision
in: header
description: 'API endpoint revision (format: YYYY-MM-DD[.suffix])'
required: true
schema:
type: string
default: '2026-04-15'
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/ImageUploadQuery'
responses:
'201':
description: Success
content:
application/vnd.api+json:
schema:
$ref: '#/components/schemas/PostImageResponse'
4XX:
$ref: '#/components/responses/ClientError'
5XX:
$ref: '#/components/responses/ServerError'
tags:
- Images
x-klaviyo-operation-aliases:
- create_image_upload
x-klaviyo-pre-release: None
x-klaviyo-ratelimit:
burst: 3/s
steady: 100/m
daily: 100/d
x-klaviyo-scopes:
- images:write
components:
schemas:
ImagePartialUpdateQueryResourceObject:
type: object
properties:
type:
$ref: '#/components/schemas/ImageEnum'
id:
description: The ID of the image
type: string
example: '7'
attributes:
type: object
properties:
name:
description: A name for the image.
type: string
nullable: true
hidden:
description: If true, this image is not shown in the asset library.
type: boolean
nullable: true
required:
- type
- id
- attributes
ImageCreateQueryResourceObject:
type: object
properties:
type:
$ref: '#/components/schemas/ImageEnum'
attributes:
type: object
properties:
name:
description: A name for the image. Defaults to the filename if not provided. If the name matches an existing image, a suffix will be added.
type: string
nullable: true
import_from_url:
description: 'An existing image url to import the image from. Alternatively, you may specify a base-64 encoded data-uri (`data:image/...`). Supported image formats: jpeg,png,gif. Maximum image size: 5MB.'
type: string
example: https://www.example.com/example.jpg
hidden:
description: If true, this image is not shown in the asset library.
type: boolean
default: false
nullable: true
required:
- import_from_url
required:
- type
- attributes
ObjectLinks:
type: object
properties:
self:
type: string
format: uri
required:
- self
ImageResponseObjectResource:
type: object
properties:
type:
$ref: '#/components/schemas/ImageEnum'
id:
description: The ID of the image
type: string
example: '7'
attributes:
type: object
properties:
name:
type: string
image_url:
type: string
format:
type: string
size:
type: integer
hidden:
type: boolean
updated_at:
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
required:
- name
- image_url
- format
- size
- hidden
- updated_at
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
ImageUploadQuery:
type: object
properties:
file:
description: 'The image file to upload. Supported image formats: jpeg,png,gif. Maximum image size: 5MB.'
type: string
format: binary
name:
description: A name for the image. Defaults to the filename if not provided. If the name matches an existing image, a suffix will be added.
type: string
hidden:
description: If true, this image is not shown in the asset library.
type: boolean
default: false
required:
- file
CollectionLinks:
type: object
properties:
self:
type: string
format: uri
first:
type: string
format: uri
last:
type: string
format: uri
prev:
type: string
format: uri
next:
type: string
format: uri
required:
- self
PostImageResponse:
type: object
properties:
data:
type: object
properties:
type:
$ref: '#/components/schemas/ImageEnum'
id:
description: The ID of the image
type: string
example: '7'
attributes:
type: object
properties:
name:
type: string
image_url:
type: string
format:
type: string
size:
type: integer
hidden:
type: boolean
updated_at:
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
required:
- name
- image_url
- format
- size
- hidden
- updated_at
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
GetImageResponse:
type: object
properties:
data:
$ref: '#/components/schemas/ImageResponseObjectResource'
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
ImagePartialUpdateQuery:
type: object
properties:
data:
$ref: '#/components/schemas/ImagePartialUpdateQueryResourceObject'
required:
- data
ImageEnum:
type: string
enum:
- image
ImageCreateQuery:
type: object
properties:
data:
$ref: '#/components/schemas/ImageCreateQueryResourceObject'
required:
- data
PatchImageResponse:
type: object
properties:
data:
type: object
properties:
type:
$ref: '#/components/schemas/ImageEnum'
id:
description: The ID of the image
type: string
example: '7'
attributes:
type: object
properties:
name:
type: string
image_url:
type: string
format:
type: string
size:
type: integer
hidden:
type: boolean
updated_at:
type: string
format: date-time
example: '2022-11-08T00:00:00+00:00'
required:
- name
- image_url
- format
- size
- hidden
- updated_at
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- type
- id
- attributes
- links
links:
$ref: '#/components/schemas/ObjectLinks'
required:
- data
GetImageResponseCollection:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ImageResponseObjectResource'
links:
$ref: '#/components/schemas/CollectionLinks'
required:
- data
responses:
ClientError:
description: Client Error
content:
application/vnd.api+json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
required:
- id
- code
- title
- detail
properties:
id:
type: string
code:
type: string
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
type: string
parameter:
type: string
required:
- errors
ServerError:
description: Server Error
content:
application/vnd.api+json:
schema:
type: object
properties:
errors:
type: array
items:
type: object
required:
- id
- code
- title
- detail
properties:
id:
type: string
code:
type: string
title:
type: string
detail:
type: string
source:
type: object
properties:
pointer:
type: string
parameter:
type: string
required:
- errors
securitySchemes:
Klaviyo-API-Key:
type: apiKey
in: header
name: Authorization
description: Private key authentication for /api/ endpoints is performed by setting the `Authorization` header to `Klaviyo-API-Key your-private-api-key`
For more information please visit https://developers.klaviyo.com/en/v2026-04-15/reference/api-overview#authentication
x-default: Klaviyo-API-Key your-private-api-key
x-readme:
explorer-enabled: false
proxy-enabled: true
samples-enabled: true