---
title: Get a Signed Response Object
description: Returns a signed response to be used to upload the asset. See upload and replace assets for further information.
url: https://storyblok.com/docs/api/management/assets/get-signed-response
---

# Get a Signed Response Object

POST

```html
https://mapi.storyblok.com/v1/spaces/:space_id/assets/
```

Returns a signed response to be used to upload the asset. See [upload and replace assets](/docs/api/management/assets/upload-and-replace-assets) for further information.

## Path parameters

-   `:space_id` (required) (number)
    
    Numeric ID of a space
    

## Request body properties

-   `filename` (string)
    
    Filename of the asset. Required.
    
-   `id` (number)
    
    Numeric ID of the existing asset. Optional.
    
-   `asset_folder_id` (number)
    
    ID of the target asset folder. Optional.
    
-   `size` (string)
    
    Specifies the asset dimensions in the format `<width>X<height>` (for example, `300X400`). Optional.
    
-   `validate_upload` (number)
    
    Determines whether the upload has to be validated. **1** to validate, **0** to not validate. Disabled by default. Optional.
    

## Response properties

-   `Signed response` (object)
    
    A signed response object to be used for uploading assets.
    

## Examples

-   cURL
    
    ```shellscript
    curl "https://mapi.storyblok.com/v1/spaces/288868932106293/assets/" \
      -X POST \
      -H "Authorization: YOUR_OAUTH_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"asset_folder_id\":638352,\"filename\":\"123.jpg\",\"id\":89293614204583,\"size\":\"\",\"validate_upload\":1}"
    ```
    
-   JS
    
    ```javascript
    // storyblok-js-client@>=7, node@>=18
    import Storyblok from "storyblok-js-client";
    
    const storyblok = new Storyblok({
      oauthToken: "YOUR_PERSONAL_ACCESS_TOKEN",
    });
    
    try {
      const response = await storyblok.post('spaces/288868932106293/assets/', {
        "asset_folder_id": 638352,
        "filename": "123.jpg",
        "id": 89293614204583,
        "size": "",
        "validate_upload": 1
      })
      console.log({ response })
    } catch (error) {
      console.log(error)
    }
    ```
    
-   PHP
    
    ```php
    $client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
    
    $payload = ["asset_folder_id" => 638352,"filename" => "123.jpg","id" => 89293614204583,"size" => "","validate_upload" => 1];
    
    $client->post('spaces/288868932106293/assets/', $payload)->getBody();
    ```
    
-   Java
    
    ```java
    HttpResponse<String> response = Unirest.post("https://mapi.storyblok.com/v1/spaces/288868932106293/assets/")
      .header("Content-Type", "application/json")
      .header("Authorization", "YOUR_OAUTH_TOKEN")
      .body({"asset_folder_id":638352,"filename":"123.jpg","id":89293614204583,"size":"","validate_upload":1})
      .asString();
    ```
    
-   C#
    
    ```csharp
    var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/assets/");
    var request = new RestRequest(Method.POST);
    
    request.AddHeader("Content-Type", "application/json");
    request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
    request.AddParameter("application/json", "{\"asset_folder_id\":638352,\"filename\":\"123.jpg\",\"id\":89293614204583,\"size\":\"\",\"validate_upload\":1}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    ```
    
-   Python
    
    ```python
    import requests
    
    url = "https://mapi.storyblok.com/v1/spaces/288868932106293/assets/"
    
    querystring = {}
    
    payload = {"asset_folder_id":638352,"filename":"123.jpg","id":89293614204583,"size":"","validate_upload":1}
    headers = {
      'Content-Type': "application/json",
      'Authorization': "YOUR_OAUTH_TOKEN"
    }
    
    response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)
    ```
    
-   Ruby
    
    ```ruby
    require 'storyblok'
    client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
    
    payload = {"asset_folder_id" => 638352,"filename" => "123.jpg","id" => 89293614204583,"size" => "","validate_upload" => 1}
    
    client.post('spaces/288868932106293/assets/', payload)
    ```
    
-   Swift
    
    ```swift
    let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))
    var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/assets/")
    request.httpMethod = "POST"
    request.httpBody = try JSONSerialization.data(withJSONObject: [
        "asset_folder_id": 638352,
        "filename": "123.jpg",
        "id": 89293614204583,
        "size": "",
        "validate_upload": 1,
    ])
    let (data, _) = try await storyblok.data(for: request)
    print(try JSONSerialization.jsonObject(with: data))
    ```
    
-   Kotlin
    
    ```kotlin
    val client = HttpClient {
        install(Storyblok(MAPI)) {
            accessToken = OAuth("YOUR_OAUTH_TOKEN")
        }
    }
    
    val response = client.post("spaces/288868932106293/assets/") {
        setBody(buildJsonObject {
            put("asset_folder_id", 638352)
            put("filename", "123.jpg")
            put("id", 89293614204583)
            put("size", "")
            put("validate_upload", 1)
        })
    }
    
    println(response.body<JsonElement>())
    ```

## Pagination

-   [Previous: Finish Upload](/docs/api/management/assets/finish-upload)
-   [Next: Retrieve Multiple Assets](/docs/api/management/assets/retrieve-multiple-assets)
