Update Installed Extension Settings
Update settings such as plugin properties inside Space Plugins and Tool Plugins. To do so, obtain an OAuth token or a Personal Access Token.
https://mapi.storyblok.com/v1/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.).
Only the field space_level_settings
inside the app_provision
object can be updated with this endpoint. To do so, the property enable_space_settings
inside the app
object should be set to true.
Path Parameters
-
:space_id
required numberNumeric ID of a space
-
:extension_id
required numberNumeric id of an extension
Request Body Properties
-
space_level_settings
objectSpace level settings
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}}}"
// 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)
})
$client = new \Storyblok\ManagementClient('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)->getBody();
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)
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();
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);
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()
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)