---
title: Update a Space Role
description: This endpoint allows you to update a space role by the numeric ID.
url: https://storyblok.com/docs/api/management/space-roles/update-a-space-role
---

# Update a Space Role

PUT

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

This endpoint allows you to update a space role by the numeric ID.

## Path parameters

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

## Request body properties

-   `space_role` (The Space Role Object)
    
    The [space role object](/docs/api/management/space-roles/the-space-role-object)
    

## Response properties

-   `space_role` (The Space Role Object)
    
    The [space role object](/docs/api/management/space-roles/the-space-role-object)
    

## Examples

-   cURL
    
    ```shellscript
    curl "https://mapi.storyblok.com/v1/spaces/288868932106293/space_roles/18" \
      -X PUT \
      -H "Authorization: YOUR_OAUTH_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"space_role\":{\"allowed_languages\":[\"de\"],\"allowed_paths\":[430937198],\"asset_folder_ids\":[563628],\"branch_ids\":[30403],\"component_ids\":[5758347],\"datasource_ids\":[218499],\"field_permissions\":[\"a-new-blok.title\",\"A new comppppp.Text_type\",\"a-new-blok.image\",\"page.body\"],\"permissions\":[\"manage_block_library\",\"deny_component_technical_name_update\",\"deny_component_fields_name_update\",\"edit_image\",\"delete_stories\",\"deploy_stories\",\"unpublish_stories\",\"unpublish_folders\",\"publish_stories\",\"publish_folders\",\"manage-non-translatable-fields\"],\"readonly_field_permissions\":[\"A new comppppp.RichText_type\",\"A new comppppp.TextArea_type\",\"page.body\"],\"role\":\"Another new space role\",\"subtitle\":\"new desc\"}}"
    ```
    
-   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/space_roles/18', {
        "space_role": {
          "allowed_languages": [
            "de"
          ],
          "allowed_paths": [
            430937198
          ],
          "asset_folder_ids": [
            563628
          ],
          "branch_ids": [
            30403
          ],
          "component_ids": [
            5758347
          ],
          "datasource_ids": [
            218499
          ],
          "field_permissions": [
            "a-new-blok.title",
            "A new comppppp.Text_type",
            "a-new-blok.image",
            "page.body"
          ],
          "permissions": [
            "manage_block_library",
            "deny_component_technical_name_update",
            "deny_component_fields_name_update",
            "edit_image",
            "delete_stories",
            "deploy_stories",
            "unpublish_stories",
            "unpublish_folders",
            "publish_stories",
            "publish_folders",
            "manage-non-translatable-fields"
          ],
          "readonly_field_permissions": [
            "A new comppppp.RichText_type",
            "A new comppppp.TextArea_type",
            "page.body"
          ],
          "role": "Another new space role",
          "subtitle": "new desc"
        }
      })
      console.log({ response })
    } catch (error) {
      console.log(error)
    }
    ```
    
-   PHP
    
    ```php
    $client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
    
    $payload = ["space_role" => ["allowed_languages" => ["de"],"allowed_paths" => [430937198],"asset_folder_ids" => [563628],"branch_ids" => [30403],"component_ids" => [5758347],"datasource_ids" => [218499],"field_permissions" => ["a-new-blok.title","A new comppppp.Text_type","a-new-blok.image","page.body"],"permissions" => ["manage_block_library","deny_component_technical_name_update","deny_component_fields_name_update","edit_image","delete_stories","deploy_stories","unpublish_stories","unpublish_folders","publish_stories","publish_folders","manage-non-translatable-fields"],"readonly_field_permissions" => ["A new comppppp.RichText_type","A new comppppp.TextArea_type","page.body"],"role" => "Another new space role","subtitle" => "new desc"]];
    
    $client->put('spaces/288868932106293/space_roles/18', $payload)->getBody();
    ```
    
-   Java
    
    ```java
    HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/288868932106293/space_roles/18")
      .header("Content-Type", "application/json")
      .header("Authorization", "YOUR_OAUTH_TOKEN")
      .body({"space_role":{"allowed_languages":["de"],"allowed_paths":[430937198],"asset_folder_ids":[563628],"branch_ids":[30403],"component_ids":[5758347],"datasource_ids":[218499],"field_permissions":["a-new-blok.title","A new comppppp.Text_type","a-new-blok.image","page.body"],"permissions":["manage_block_library","deny_component_technical_name_update","deny_component_fields_name_update","edit_image","delete_stories","deploy_stories","unpublish_stories","unpublish_folders","publish_stories","publish_folders","manage-non-translatable-fields"],"readonly_field_permissions":["A new comppppp.RichText_type","A new comppppp.TextArea_type","page.body"],"role":"Another new space role","subtitle":"new desc"}})
      .asString();
    ```
    
-   C#
    
    ```csharp
    var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/space_roles/18");
    var request = new RestRequest(Method.PUT);
    
    request.AddHeader("Content-Type", "application/json");
    request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
    request.AddParameter("application/json", "{\"space_role\":{\"allowed_languages\":[\"de\"],\"allowed_paths\":[430937198],\"asset_folder_ids\":[563628],\"branch_ids\":[30403],\"component_ids\":[5758347],\"datasource_ids\":[218499],\"field_permissions\":[\"a-new-blok.title\",\"A new comppppp.Text_type\",\"a-new-blok.image\",\"page.body\"],\"permissions\":[\"manage_block_library\",\"deny_component_technical_name_update\",\"deny_component_fields_name_update\",\"edit_image\",\"delete_stories\",\"deploy_stories\",\"unpublish_stories\",\"unpublish_folders\",\"publish_stories\",\"publish_folders\",\"manage-non-translatable-fields\"],\"readonly_field_permissions\":[\"A new comppppp.RichText_type\",\"A new comppppp.TextArea_type\",\"page.body\"],\"role\":\"Another new space role\",\"subtitle\":\"new desc\"}}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    ```
    
-   Python
    
    ```python
    import requests
    
    url = "https://mapi.storyblok.com/v1/spaces/288868932106293/space_roles/18"
    
    querystring = {}
    
    payload = {"space_role":{"allowed_languages":["de"],"allowed_paths":[430937198],"asset_folder_ids":[563628],"branch_ids":[30403],"component_ids":[5758347],"datasource_ids":[218499],"field_permissions":["a-new-blok.title","A new comppppp.Text_type","a-new-blok.image","page.body"],"permissions":["manage_block_library","deny_component_technical_name_update","deny_component_fields_name_update","edit_image","delete_stories","deploy_stories","unpublish_stories","unpublish_folders","publish_stories","publish_folders","manage-non-translatable-fields"],"readonly_field_permissions":["A new comppppp.RichText_type","A new comppppp.TextArea_type","page.body"],"role":"Another new space role","subtitle":"new desc"}}
    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 = {"space_role" => {"allowed_languages" => ["de"],"allowed_paths" => [430937198],"asset_folder_ids" => [563628],"branch_ids" => [30403],"component_ids" => [5758347],"datasource_ids" => [218499],"field_permissions" => ["a-new-blok.title","A new comppppp.Text_type","a-new-blok.image","page.body"],"permissions" => ["manage_block_library","deny_component_technical_name_update","deny_component_fields_name_update","edit_image","delete_stories","deploy_stories","unpublish_stories","unpublish_folders","publish_stories","publish_folders","manage-non-translatable-fields"],"readonly_field_permissions" => ["A new comppppp.RichText_type","A new comppppp.TextArea_type","page.body"],"role" => "Another new space role","subtitle" => "new desc"}}
    
    client.put('spaces/288868932106293/space_roles/18', payload)
    ```
    
-   Swift
    
    ```swift
    let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))
    var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/space_roles/18")
    request.httpMethod = "PUT"
    request.httpBody = try JSONSerialization.data(withJSONObject: [
        "space_role": [
            "allowed_languages": [
                "de",
            ],
            "allowed_paths": [
                430937198,
            ],
            "asset_folder_ids": [
                563628,
            ],
            "branch_ids": [
                30403,
            ],
            "component_ids": [
                5758347,
            ],
            "datasource_ids": [
                218499,
            ],
            "field_permissions": [
                "a-new-blok.title",
                "A new comppppp.Text_type",
                "a-new-blok.image",
                "page.body",
            ],
            "permissions": [
                "manage_block_library",
                "deny_component_technical_name_update",
                "deny_component_fields_name_update",
                "edit_image",
                "delete_stories",
                "deploy_stories",
                "unpublish_stories",
                "unpublish_folders",
                "publish_stories",
                "publish_folders",
                "manage-non-translatable-fields",
            ],
            "readonly_field_permissions": [
                "A new comppppp.RichText_type",
                "A new comppppp.TextArea_type",
                "page.body",
            ],
            "role": "Another new space role",
            "subtitle": "new desc",
        ],
    ])
    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/space_roles/18") {
        setBody(buildJsonObject {
            putJsonObject("space_role") {
                putJsonArray("allowed_languages") {
                    add("de")
                }
                putJsonArray("allowed_paths") {
                    add(430937198)
                }
                putJsonArray("asset_folder_ids") {
                    add(563628)
                }
                putJsonArray("branch_ids") {
                    add(30403)
                }
                putJsonArray("component_ids") {
                    add(5758347)
                }
                putJsonArray("datasource_ids") {
                    add(218499)
                }
                putJsonArray("field_permissions") {
                    add("a-new-blok.title")
                    add("A new comppppp.Text_type")
                    add("a-new-blok.image")
                    add("page.body")
                }
                putJsonArray("permissions") {
                    add("manage_block_library")
                    add("deny_component_technical_name_update")
                    add("deny_component_fields_name_update")
                    add("edit_image")
                    add("delete_stories")
                    add("deploy_stories")
                    add("unpublish_stories")
                    add("unpublish_folders")
                    add("publish_stories")
                    add("publish_folders")
                    add("manage-non-translatable-fields")
                }
                putJsonArray("readonly_field_permissions") {
                    add("A new comppppp.RichText_type")
                    add("A new comppppp.TextArea_type")
                    add("page.body")
                }
                put("role", "Another new space role")
                put("subtitle", "new desc")
            }
        })
    }
    
    println(response.body<JsonElement>())
    ```

## Pagination

-   [Previous: The Space Role Object](/docs/api/management/space-roles/the-space-role-object)
-   [Next: Spaces](/docs/api/management/spaces)
