contentstack Assets API
Assets are media files such as images, videos, and documents stored in the Contentstack asset library.
Assets are media files such as images, videos, and documents stored in the Contentstack asset library.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/contentstack-assets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Contentstack Assets API
version: v3
contact:
name: Contentstack Support
url: https://www.contentstack.com/contact
termsOfService: https://www.contentstack.com/legal/terms-of-service
description: 'Operations tagged Assets across 2 of this provider''s published API definitions: contentstack-content-delivery-api-openapi.yml, contentstack-content-management-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://cdn.contentstack.io/v3
description: AWS North America Production Server
- url: https://eu-cdn.contentstack.com/v3
description: AWS Europe Production Server
- url: https://au-cdn.contentstack.com/v3
description: AWS Australia Production Server
- url: https://api.contentstack.io/v3
description: AWS North America Production Server
- url: https://eu-api.contentstack.com/v3
description: AWS Europe Production Server
- url: https://au-api.contentstack.com/v3
description: AWS Australia Production Server
- url: https://azure-na-api.contentstack.com/v3
description: Azure North America Production Server
- url: https://azure-eu-api.contentstack.com/v3
description: Azure Europe Production Server
tags:
- name: Assets
description: Assets are media files such as images, videos, and documents stored in the Contentstack asset library.
paths:
/assets:
get:
operationId: getAllAssets
summary: Get all assets
description: Fetches a list of all published assets in the stack including images, videos, and documents. Supports pagination, filtering, and field selection.
tags:
- Assets
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/Skip'
- $ref: '#/components/parameters/Limit'
- name: include_count
in: query
description: Set to true to include the total count of assets in the response.
schema:
type: boolean
responses:
'200':
description: A list of assets in the stack.
content:
application/json:
schema:
$ref: '#/components/schemas/AssetList'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- apiKey: []
deliveryToken: []
post:
operationId: uploadAsset
summary: Upload an asset
description: Uploads a new asset file to the stack. Supports multipart form data for the file upload along with metadata such as title, description, and tags.
tags:
- Assets
parameters:
- $ref: '#/components/parameters/StackApiKey'
- $ref: '#/components/parameters/AuthToken'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
asset[upload]:
type: string
format: binary
description: The asset file to upload.
asset[title]:
type: string
description: Display title for the asset.
asset[description]:
type: string
description: Description of the asset content.
responses:
'201':
description: The newly uploaded asset.
content:
application/json:
schema:
$ref: '#/components/schemas/Asset_2'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- apiKey: []
deliveryToken: []
servers:
- url: https://cdn.contentstack.io/v3
description: AWS North America Production Server
- url: https://eu-cdn.contentstack.com/v3
description: AWS Europe Production Server
- url: https://au-cdn.contentstack.com/v3
description: AWS Australia Production Server
/assets/{asset_uid}:
get:
operationId: getSingleAsset
summary: Get a single asset
description: Retrieves a specific asset by its UID, returning all metadata including file URL, dimensions, file size, and content type.
tags:
- Assets
parameters:
- $ref: '#/components/parameters/ApiKey'
- $ref: '#/components/parameters/AccessToken'
- $ref: '#/components/parameters/AssetUid'
responses:
'200':
description: The requested asset object.
content:
application/json:
schema:
$ref: '#/components/schemas/Asset'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
security:
- apiKey: []
deliveryToken: []
servers:
- url: https://cdn.contentstack.io/v3
description: AWS North America Production Server
- url: https://eu-cdn.contentstack.com/v3
description: AWS Europe Production Server
- url: https://au-cdn.contentstack.com/v3
description: AWS Australia Production Server
components:
parameters:
AssetUid:
name: asset_uid
in: path
required: true
description: The unique identifier (UID) of the asset.
schema:
type: string
Skip:
name: skip
in: query
description: Number of entries to skip for pagination.
schema:
type: integer
minimum: 0
default: 0
AccessToken:
name: access_token
in: header
required: true
description: The delivery token for the stack environment.
schema:
type: string
Limit:
name: limit
in: query
description: Maximum number of entries to return. Maximum allowed is 250.
schema:
type: integer
minimum: 1
maximum: 250
default: 100
ApiKey:
name: api_key
in: header
required: true
description: The API key for the Contentstack stack.
schema:
type: string
AuthToken:
name: authtoken
in: header
required: false
description: User session token for authentication. Required if not using management token.
schema:
type: string
Skip_2:
name: skip
in: query
description: Number of records to skip for pagination.
schema:
type: integer
minimum: 0
default: 0
StackApiKey:
name: api_key
in: header
required: true
description: The API key identifying the Contentstack stack.
schema:
type: string
Limit_2:
name: limit
in: query
description: Maximum number of records to return.
schema:
type: integer
minimum: 1
maximum: 250
default: 100
responses:
Unauthorized:
description: Authentication credentials are missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: The request is malformed or contains invalid parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Error_2'
schemas:
AssetList:
type: object
description: A paginated list of assets in the stack.
properties:
assets:
type: array
description: Array of asset objects.
items:
$ref: '#/components/schemas/Asset'
count:
type: integer
description: Total count of assets when include_count is true.
Asset:
type: object
description: A media asset stored in the Contentstack asset library.
properties:
uid:
type: string
description: Unique identifier of the asset.
title:
type: string
description: Display name of the asset.
url:
type: string
format: uri
description: CDN URL to access the asset file.
filename:
type: string
description: Original file name of the uploaded asset.
content_type:
type: string
description: MIME type of the asset file.
file_size:
type: string
description: File size of the asset in bytes.
created_at:
type: string
format: date-time
description: ISO 8601 timestamp when the asset was created.
updated_at:
type: string
format: date-time
description: ISO 8601 timestamp when the asset was last updated.
Error:
type: object
description: Standard error response returned by the API.
properties:
error_message:
type: string
description: Human-readable description of the error.
error_code:
type: integer
description: Numeric code identifying the error type.
errors:
type: object
description: Field-level validation errors when applicable.
AssetList_2:
type: object
description: A paginated list of assets.
properties:
assets:
type: array
description: Array of asset objects.
items:
$ref: '#/components/schemas/Asset_2'
Asset_2:
type: object
description: A media asset stored in the stack.
properties:
uid:
type: string
description: Unique identifier of the asset.
title:
type: string
description: Display name of the asset.
url:
type: string
format: uri
description: URL to access the asset file.
filename:
type: string
description: Original file name of the uploaded file.
content_type:
type: string
description: MIME type of the asset.
file_size:
type: string
description: File size in bytes.
created_at:
type: string
format: date-time
description: ISO 8601 timestamp when the asset was created.
Error_2:
type: object
description: Standard error response.
properties:
error_message:
type: string
description: Human-readable description of the error.
error_code:
type: integer
description: Numeric error code.
errors:
type: object
description: Field-level validation errors.
securitySchemes:
apiKey:
type: apiKey
in: header
name: api_key
description: The API key for the Contentstack stack.
deliveryToken:
type: apiKey
in: header
name: access_token
description: The delivery token granting read access to the stack environment.
authtokenAuth:
type: apiKey
in: header
name: authtoken
description: User session token obtained from the login endpoint.
managementTokenAuth:
type: apiKey
in: header
name: authorization
description: Management token in the format "Bearer {management_token}" for server-to-server authentication without user sessions.
x-refined-from:
- contentstack-content-delivery-api-openapi.yml
- contentstack-content-management-api-openapi.yml