Get Signed URL
Retrieves a signed URL to access a private asset.
https://api.storyblok.com/v2/cdn/assets/meQuery parameters
Section titled “Query parameters”filenamerequired stringComplete URL of the asset.
tokenrequired stringA preview or public access token configured in a space.
Response properties
Section titled “Response properties”assetAssetShow child properties
altstring | nullAlt text for the asset (default language).
asset_folder_idinteger | nullId of the folder that contains this asset.
content_lengthinteger | nullThe content length in bytes.
content_typestring | nullThe asset’s MIME type.
copyrightstring | nullCopyright text.
created_atstring | nullCreation timestamp. Supports ISO 8601.
updated_atstring | nullLatest update timestamp. Supports ISO 8601.
expire_atstring | nullExpiration timestamp. Supports ISO 8601.
filenamestringFull path of the asset, including the file name.
focusstring | nullFocus.
is_privatebooleanDefines if the asset should be inaccessible to the public.
signed_urlstring | nullThe signed URL for the asset.
titlestring | nullTitle of the asset.
Examples
Section titled “Examples”curl "https://api.storyblok.com/v2/cdn/assets/me\?filename=https%3A%2F%2Fa.storyblok.com%2Ff%2F44203%2Fx%2F5231aa9c8a%2Ffavicon.ico\&token=YOUR_ACCESS_TOKEN"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ accessToken: "krcV6QGxWORpYLUWt12xKQtt",});
try { const response = await storyblok.get('cdn/assets/me', { "filename": "https://a.storyblok.com/f/44203/x/5231aa9c8a/favicon.ico" }) console.log({ response })} catch (error) { console.log(error)}$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');
$client->get('assets/me', [ "filename" => "https =>//a.storyblok.com/f/44203/x/5231aa9c8a/favicon.ico"])->getBody();HttpResponse<String> response = Unirest.get("https://api.storyblok.com/v2/cdn/assets/me?filename=https%3A%2F%2Fa.storyblok.com%2Ff%2F44203%2Fx%2F5231aa9c8a%2Ffavicon.ico&token=YOUR_ACCESS_TOKEN") .asString();var client = new RestClient("https://api.storyblok.com/v2/cdn/assets/me?filename=https%3A%2F%2Fa.storyblok.com%2Ff%2F44203%2Fx%2F5231aa9c8a%2Ffavicon.ico&token=YOUR_ACCESS_TOKEN");var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);import requests
url = "https://api.storyblok.com/v2/cdn/assets/me"
querystring = {"filename":"https://a.storyblok.com/f/44203/x/5231aa9c8a/favicon.ico","token":"YOUR_ACCESS_TOKEN"}
payload = ""headers = {}
response = requests.request("GET", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(token: 'YOUR_TOKEN')
client.get('assets/me', {:params => { "filename" => "https =>//a.storyblok.com/f/44203/x/5231aa9c8a/favicon.ico"}})let storyblok = URLSession(storyblok: .cdn(accessToken: "YOUR_ACCESS_TOKEN"))var request = URLRequest(storyblok: storyblok, path: "assets/me")request.url!.append(queryItems: [ URLQueryItem(name: "filename", value: "https://a.storyblok.com/f/44203/x/5231aa9c8a/favicon.ico")])let (data, _) = try await storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(CDN)) { accessToken = "YOUR_ACCESS_TOKEN" }}
val response = client.get("assets/me") { url { parameters.append("filename", "https://a.storyblok.com/f/44203/x/5231aa9c8a/favicon.ico") }}
println(response.body<JsonElement>()){"asset": { "alt": "Laser cutting machine in action", "asset_folder_id": 456, "content_length": 245760, "content_type": "image/jpeg", "copyright": null, "created_at": "2025-02-10T08:12:00.000Z", "updated_at": "2025-02-10T08:12:00.000Z", "expire_at": "2044-04-20T16:01:26.000Z", "filename": "https://a.storyblok.com/f/10/100x100/b482c4d749/laser-image.jpg", "focus": null, "is_private": false, "signed_url": null, "title": "Laser Image"}}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