Update Asset
PUT
https://mapi.storyblok.com/v1/spaces/:space_id/assets/:asset_idUse this endpoint to update an asset’s metadata.
To upload a new asset or replace an existing one, follow the steps in Upload and Replace Assets.
Path parameters
Section titled “Path parameters”- :space_id required number
Numeric ID of a space.
- :asset_id required number
Numeric ID of an asset.
Request body properties
Section titled “Request body properties”- asset The Asset Object
The asset object
Examples
Section titled “Examples”curl "https://mapi.storyblok.com/v1/spaces/288868932106293/assets/656565" \ -X PUT \ -H "Authorization: YOUR_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"asset_folder_id\":123123,\"internal_tag_ids\":[1111],\"is_private\":true,\"locked\":false,\"meta_data\":{\"alt\":\"Asset alt text\",\"copyright\":\"Copyright text\",\"source\":\"Asset source\",\"title\":\"Asset title\"},\"publish_at\":\"2025-05-31T11:52:00.000Z\"}"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ oauthToken: "YOUR_PERSONAL_ACCESS_TOKEN",});
try { const response = await storyblok.put('spaces/288868932106293/assets/656565', { "asset_folder_id": 123123, "internal_tag_ids": [ 1111 ], "is_private": true, "locked": false, "meta_data": { "alt": "Asset alt text", "copyright": "Copyright text", "source": "Asset source", "title": "Asset title" }, "publish_at": "2025-05-31T11:52:00.000Z"}) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = ["asset_folder_id" => 123123,"internal_tag_ids" => [1111],"is_private" => true,"locked" => false,"meta_data" => ["alt" => "Asset alt text","copyright" => "Copyright text","source" => "Asset source","title" => "Asset title"],"publish_at" => "2025-05-31T11 => 52 => 00.000Z"];
$client->put('spaces/288868932106293/assets/656565', $payload)->getBody();HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/assets/656565") .header("Content-Type", "application/json") .header("Authorization", "YOUR_OAUTH_TOKEN") .body({"asset_folder_id":123123,"internal_tag_ids":[1111],"is_private":true,"locked":false,"meta_data":{"alt":"Asset alt text","copyright":"Copyright text","source":"Asset source","title":"Asset title"},"publish_at":"2025-05-31T11:52:00.000Z"}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/assets/656565");var request = new RestRequest(Method.PUT);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");request.AddParameter("application/json", "{\"asset_folder_id\":123123,\"internal_tag_ids\":[1111],\"is_private\":true,\"locked\":false,\"meta_data\":{\"alt\":\"Asset alt text\",\"copyright\":\"Copyright text\",\"source\":\"Asset source\",\"title\":\"Asset title\"},\"publish_at\":\"2025-05-31T11:52:00.000Z\"}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/assets/656565"
querystring = {}
payload = {"asset_folder_id":123123,"internal_tag_ids":[1111],"is_private":true,"locked":false,"meta_data":{"alt":"Asset alt text","copyright":"Copyright text","source":"Asset source","title":"Asset title"},"publish_at":"2025-05-31T11:52:00.000Z"}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_OAUTH_TOKEN"}
response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {"asset_folder_id" => 123123,"internal_tag_ids" => [1111],"is_private" => true,"locked" => false,"meta_data" => {"alt" => "Asset alt text","copyright" => "Copyright text","source" => "Asset source","title" => "Asset title"},"publish_at" => "2025-05-31T11 => 52 => 00.000Z"}
client.put('spaces/288868932106293/assets/656565', payload)let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/assets/656565")request.httpMethod = "PUT"request.httpBody = try JSONSerialization.data(withJSONObject: [ "asset_folder_id": 123123, "internal_tag_ids": [ 1111, ], "is_private": true, "locked": false, "meta_data": [ "alt": "Asset alt text", "copyright": "Copyright text", "source": "Asset source", "title": "Asset title", ], "publish_at": "2025-05-31T11:52:00.000Z",])let (data, _) = try await storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(MAPI)) { accessToken = OAuth("YOUR_OAUTH_TOKEN") }}
val response = client.put("spaces/288868932106293/assets/656565") { setBody(buildJsonObject { put("asset_folder_id", 123123) putJsonArray("internal_tag_ids") { add(1111) } put("is_private", true) put("locked", false) putJsonObject("meta_data") { put("alt", "Asset alt text") put("copyright", "Copyright text") put("source", "Asset source") put("title", "Asset title") } put("publish_at", "2025-05-31T11:52:00.000Z") })}
println(response.body<JsonElement>())
Thanks! We received your feedback.
An error occurred. Please try again.
Was this page helpful?
This site uses reCAPTCHA and Google's Privacy Policy (opens in a new window) . Terms of Service (opens in a new window) apply.
Get in touch with the Storyblok community