1. Update Plugin Properties

Update Plugin Properties

Update settings such as plugin properties inside Space Plugins and Tool Plugins. To do so, obtain an OAuth token.

/spaces/:space_id/app_provisions/:app_id

The space level settings are only for non-sensitive data. Credentials such as secrets and passwords should not be stored. If you still want to store them, they should be stored in an external database (e.g., Supabase, Firebase, etc.).

Path Parameters

  • :space_id

    required number

    Numeric id of a space

  • :app_id

    number

    Numeric id of an app

Request Body Properties

  • space_level_settings

    object

    Space level settings

Request
curl "https://mapi.storyblok.com/v1/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72" \ 
  -X PUT \
  -H "Authorization: YOUR_OAUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"app_provision\": {\"space_level_settings\": {\"any_setting_1\": \"hello\",\"any_setting_2\": 123456}}}"
Request
// Using the Universal JavaScript Client:
// https://github.com/storyblok/storyblok-js-client
Storyblok.put('/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72', {
  "app_provision": {
    "space_level_settings": {
      "any_setting_1": "hello",
      "any_setting_2": 123456
    }
  }
})
  .then(response => {
    console.log(response)
  }).catch(error => { 
    console.log(error)
  })
Request
$client = new \Storyblok\Client('YOUR_STORYBLOK_SPACE_ACCESS_TOKEN');

$payload = [
  "app_provision" =>  [
    "space_level_settings" =>  [
      "any_setting_1" =>  "hello",
      "any_setting_2" =>  123456
    ]
  ]
];

$client->put('/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72', $payload)->getBody();
Request
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')

payload = {
  "app_provision" =>  {
    "space_level_settings" =>  {
      "any_setting_1" =>  "hello",
      "any_setting_2" =>  123456
    }
  }
}

client.put('/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72', payload)
Request
HttpResponse<String> response = Unirest.put("https://mapi.storyblok.com/v1/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72")
  .header("Content-Type", "application/json")
  .header("Authorization", "YOUR_OAUTH_TOKEN")
  .body("{\"app_provision\": {\"space_level_settings\": {\"any_setting_1\": \"hello\",\"any_setting_2\": 123456}}}")
  .asString();
Request
var client = new RestClient("https://mapi.storyblok.com/v1/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72");
var request = new RestRequest(Method.PUT);

request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
request.AddParameter("application/json", "{\"app_provision\": {\"space_level_settings\": {\"any_setting_1\": \"hello\",\"any_setting_2\": 123456}}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Request
import Foundation

let headers = [
  "Content-Type": "application/json",
  "Authorization": "YOUR_OAUTH_TOKEN"
]

let postData = NSData(data: "{\"app_provision\": {\"space_level_settings\": {\"any_setting_1\": \"hello\",\"any_setting_2\": 123456}}}".data(using: String.Encoding.utf8)!)

let request = NSMutableURLRequest(url: NSURL(string: "https://mapi.storyblok.com/v1/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.method = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
Request
import requests

url = "https://mapi.storyblok.com/v1/spaces/606/app_provisions/a8d372f8-5659-4f77-b549-0a82ff9c6e72"

querystring = {}

payload = "{\"app_provision\": {\"space_level_settings\": {\"any_setting_1\": \"hello\",\"any_setting_2\": 123456}}}"
headers = {
  'Content-Type': "application/json",
  'Authorization': "YOUR_OAUTH_TOKEN"
}

response = requests.request("PUT", url, data=payload, headers=headers, params=querystring)

print(response.text)