Asset API Technical Reference
The Prismic Asset API allows you to manage your repository assets in media library.
The Prismic Asset API allows you to manage your repository assets in media library. This documentation provides details about the available endpoints, authentication requirements, request parameters, response models, and error handling.
Limits
Each request to the API can contain one asset.
Requests are limited to one per second.
Headers
These headers should be included with each request to the Asset API.
repository String (required) | The repository ID (e.g. |
| A permanent token or user session token from the Authentication API. |
origin String | The origin URL for your request. |
Methods
GET
Retrieve a list of assets from the media library.
https://asset-api.prismic.io/assets
The url parameters of the request accept the following properties:
assetType String | Filter assets by type (e.g., |
limit Number | Maximum number of assets to be returned (e.g.
|
cursor String | ID of the asset after which to start the query (e.g.
|
keyword String | A string to filter assets by keyword (in |
An example GET response:
{
"id":"Zestwpsz31z-H2JI",
"url":"https://prismic-io.imgix.net/yourrepo/yourpng.png?auto=format,compress",
"filename":"example file name.png",
"size":157432,
"width":2960,
"height":1318,
"last_modified":1709911490751,
"kind":"image",
"extension":"png",
"notes":"notes text",
"credits":"credits text",
"alt":"alt text",
"created_at":1709911490751
}
POST
Upload a new asset to the media library.
https://asset-api.prismic.io/assets
The body must be multipart/form-data
with the asset.
It also accepts optional metadata properties of notes
, credits
and alt
listed in PATCH below.
const uploadFile = async (
filePath: fs.PathLike,
token: string,
) => {
const formData = new FormData();
formData.append("file", fs.createReadStream(filePath));
const response = await axios.post(assetUrl, formData, {
headers: {
Authorization: `Bearer ${token}`,
"x-api-key": apiKey,
"Content-Type": "multipart/form-data",
repository: instanceRepository,
Accept: "application/json",
},
});
await delay(2000);
return response;
};
PATCH
Update the metadata of an existing asset.
https://asset-api.prismic.io/assets/{{asset-id}}
The body must be JSON. It accepts the following properties:
notes text | Notes about the asset. Limit: 500 characters |
credits text | Credit for the asset. Limit: 500 characters |
alt text | Alt text for the asset. Limit: 500 characters |
DELETE
Deletes an existing asset.
https://asset-api.prismic.io/assets/{{asset-id}}