---
title: Update a Datasource Entry
description: Update a datasource entry using its numeric ID
url: https://storyblok.com/docs/api/management/datasource-entries/update-a-datasource-entry
---

# Update a Datasource Entry

PUT

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

Update a datasource entry using its numeric ID.

## Path parameters

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

## Request body properties

-   `datasource_entry` (The Datasource Entry Object)
    
    The [datasource entry object](/docs/api/management/datasource-entries/the-datasource-entry-object)
    
-   `dimension_id` (number)
    
    (**required** when setting a `dimension_value`) Numeric ID of a linked dimension. Learn more about [datasource dimensions](/docs/concepts/datasources#datasource-dimensions).
    

## Examples

Update a value of a datasource entry and position it at the beginning of the datasource.

-   cURL
    
    ```shellscript
    curl "https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293" \
      -X PUT \
      -H "Authorization: YOUR_OAUTH_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"datasource_entry\":{\"name\":\"updated_newsletter_text\",\"position\":1,\"value\":\"Update: Subscribe to our updated newsletter.\"}}"
    ```
    
-   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.put('spaces/288868932106293/datasource_entries/158405385177293', {
        "datasource_entry": {
          "name": "updated_newsletter_text",
          "position": 1,
          "value": "Update: Subscribe to our updated newsletter."
        }
      })
      console.log({ response })
    } catch (error) {
      console.log(error)
    }
    ```
    
-   PHP
    
    ```php
    $client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
    
    $payload = ["datasource_entry" => ["name" => "updated_newsletter_text","position" => 1,"value" => "Update =>  Subscribe to our updated newsletter."]];
    
    $client->put('spaces/288868932106293/datasource_entries/158405385177293', $payload)->getBody();
    ```
    
-   Java
    
    ```java
    HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293")
      .header("Content-Type", "application/json")
      .header("Authorization", "YOUR_OAUTH_TOKEN")
      .body({"datasource_entry":{"name":"updated_newsletter_text","position":1,"value":"Update: Subscribe to our updated newsletter."}})
      .asString();
    ```
    
-   C#
    
    ```csharp
    var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293");
    var request = new RestRequest(Method.PUT);
    
    request.AddHeader("Content-Type", "application/json");
    request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
    request.AddParameter("application/json", "{\"datasource_entry\":{\"name\":\"updated_newsletter_text\",\"position\":1,\"value\":\"Update: Subscribe to our updated newsletter.\"}}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    ```
    
-   Python
    
    ```python
    import requests
    
    url = "https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293"
    
    querystring = {}
    
    payload = {"datasource_entry":{"name":"updated_newsletter_text","position":1,"value":"Update: Subscribe to our updated newsletter."}}
    headers = {
      'Content-Type': "application/json",
      'Authorization': "YOUR_OAUTH_TOKEN"
    }
    
    response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)
    ```
    
-   Ruby
    
    ```ruby
    require 'storyblok'
    client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
    
    payload = {"datasource_entry" => {"name" => "updated_newsletter_text","position" => 1,"value" => "Update =>  Subscribe to our updated newsletter."}}
    
    client.put('spaces/288868932106293/datasource_entries/158405385177293', payload)
    ```
    
-   Swift
    
    ```swift
    let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))
    var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/datasource_entries/158405385177293")
    request.httpMethod = "PUT"
    request.httpBody = try JSONSerialization.data(withJSONObject: [
        "datasource_entry": [
            "name": "updated_newsletter_text",
            "position": 1,
            "value": "Update: Subscribe to our updated newsletter.",
        ],
    ])
    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.put("spaces/288868932106293/datasource_entries/158405385177293") {
        setBody(buildJsonObject {
            putJsonObject("datasource_entry") {
                put("name", "updated_newsletter_text")
                put("position", 1)
                put("value", "Update: Subscribe to our updated newsletter.")
            }
        })
    }
    
    println(response.body<JsonElement>())
    ```

Update a value in a specific dimension.

-   cURL
    
    ```shellscript
    curl "https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293" \
      -X PUT \
      -H "Authorization: YOUR_OAUTH_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"datasource_entry\":{\"dimension_value\":\"Changed the value in the dimension\",\"name\":\"updated_newsletter_text\",\"value\":\"Update: Sign up to our updated newsletter.\"},\"dimension_id\":70466}"
    ```
    
-   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.put('spaces/288868932106293/datasource_entries/158405385177293', {
        "datasource_entry": {
          "dimension_value": "Changed the value in the dimension",
          "name": "updated_newsletter_text",
          "value": "Update: Sign up to our updated newsletter."
        },
        "dimension_id": 70466
      })
      console.log({ response })
    } catch (error) {
      console.log(error)
    }
    ```
    
-   PHP
    
    ```php
    $client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
    
    $payload = ["datasource_entry" => ["dimension_value" => "Changed the value in the dimension","name" => "updated_newsletter_text","value" => "Update =>  Sign up to our updated newsletter."],"dimension_id" => 70466];
    
    $client->put('spaces/288868932106293/datasource_entries/158405385177293', $payload)->getBody();
    ```
    
-   Java
    
    ```java
    HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293")
      .header("Content-Type", "application/json")
      .header("Authorization", "YOUR_OAUTH_TOKEN")
      .body({"datasource_entry":{"dimension_value":"Changed the value in the dimension","name":"updated_newsletter_text","value":"Update: Sign up to our updated newsletter."},"dimension_id":70466})
      .asString();
    ```
    
-   C#
    
    ```csharp
    var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293");
    var request = new RestRequest(Method.PUT);
    
    request.AddHeader("Content-Type", "application/json");
    request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
    request.AddParameter("application/json", "{\"datasource_entry\":{\"dimension_value\":\"Changed the value in the dimension\",\"name\":\"updated_newsletter_text\",\"value\":\"Update: Sign up to our updated newsletter.\"},\"dimension_id\":70466}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    ```
    
-   Python
    
    ```python
    import requests
    
    url = "https://mapi.storyblok.com/v1/spaces/288868932106293/datasource_entries/158405385177293"
    
    querystring = {}
    
    payload = {"datasource_entry":{"dimension_value":"Changed the value in the dimension","name":"updated_newsletter_text","value":"Update: Sign up to our updated newsletter."},"dimension_id":70466}
    headers = {
      'Content-Type': "application/json",
      'Authorization': "YOUR_OAUTH_TOKEN"
    }
    
    response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)
    ```
    
-   Ruby
    
    ```ruby
    require 'storyblok'
    client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
    
    payload = {"datasource_entry" => {"dimension_value" => "Changed the value in the dimension","name" => "updated_newsletter_text","value" => "Update =>  Sign up to our updated newsletter."},"dimension_id" => 70466}
    
    client.put('spaces/288868932106293/datasource_entries/158405385177293', payload)
    ```
    
-   Swift
    
    ```swift
    let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))
    var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/datasource_entries/158405385177293")
    request.httpMethod = "PUT"
    request.httpBody = try JSONSerialization.data(withJSONObject: [
        "datasource_entry": [
            "dimension_value": "Changed the value in the dimension",
            "name": "updated_newsletter_text",
            "value": "Update: Sign up to our updated newsletter.",
        ],
        "dimension_id": 70466,
    ])
    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.put("spaces/288868932106293/datasource_entries/158405385177293") {
        setBody(buildJsonObject {
            putJsonObject("datasource_entry") {
                put("dimension_value", "Changed the value in the dimension")
                put("name", "updated_newsletter_text")
                put("value", "Update: Sign up to our updated newsletter.")
            }
            put("dimension_id", 70466)
        })
    }
    
    println(response.body<JsonElement>())
    ```

## Pagination

-   [Previous: The Datasource Entry Object](/docs/api/management/datasource-entries/the-datasource-entry-object)
-   [Next: Datasources](/docs/api/management/datasources)
