Create a Datasource
https://mapi.storyblok.com/v1/spaces/:space_id/datasourcesCreate a new datasource.
Path parameters
Section titled “Path parameters”- :space_id required number
Numeric ID of a space
Request body properties
Section titled “Request body properties”- datasource The Datasource Object
Show child properties
- name required string
The name a datasource
- slug required string
Slug of a datasource
-
Response properties
Section titled “Response properties”- datasource The Datasource Object
Examples
Section titled “Examples”curl "https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/" \ -X POST \ -H "Authorization: YOUR_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"datasource\":{\"name\":\"Labels for Website\",\"slug\":\"labels\"}}"// Using the Universal JavaScript Client:// https://github.com/storyblok/storyblok-js-clientStoryblok.post('spaces/288868932106293/datasources/', { "datasource": { "name": "Labels for Website", "slug": "labels" }}) .then(response => { console.log(response) }).catch(error => { console.log(error) })$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = ["datasource" => ["name" => "Labels for Website","slug" => "labels"]];
$client->post('spaces/288868932106293/datasources/', $payload)->getBody();HttpResponse<String> response = Unirest.post("https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/") .header("Content-Type", "application/json") .header("Authorization", "YOUR_OAUTH_TOKEN") .body({"datasource":{"name":"Labels for Website","slug":"labels"}}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/");var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");request.AddParameter("application/json", "{\"datasource\":{\"name\":\"Labels for Website\",\"slug\":\"labels\"}}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/"
querystring = {}
payload = {"datasource":{"name":"Labels for Website","slug":"labels"}}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_OAUTH_TOKEN"}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {"datasource" => {"name" => "Labels for Website","slug" => "labels"}}
client.post('spaces/288868932106293/datasources/', payload)var request = URLRequest(url: URL(string: "https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/")!)request.setValue("YOUR_OAUTH_TOKEN", forHTTPHeaderField: "Authorization")request.httpMethod = "POST"request.httpBody = try JSONSerialization.data(withJSONObject: [ "datasource": [ "name": "Labels for Website", "slug": "labels", ],])let (data, _) = try await URLSession.shared.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(ContentNegotiation) { json() } install(DefaultRequest) { url { takeFrom("https://mapi.storyblok.com/v1/") headers.append("Authorization", "YOUR_OAUTH_TOKEN") } }}
val response = client.post("spaces/288868932106293/datasources/") { contentType(ContentType.Application.Json) setBody(buildJsonObject { putJsonObject("datasource") { put("name", "Labels for Website") put("slug", "labels") } })}
println(response.body<JsonElement>())Request for adding values in a specific dimension.
curl "https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/" \ -X POST \ -H "Authorization: YOUR_OAUTH_TOKEN" \ -H "Content-Type: application/json" \ -d "{\"datasource\":{\"dimensions_attributes\":[{\"entry_value\":\"es\",\"name\":\"Spanish\"},{\"entry_value\":\"de\",\"name\":\"German\"}],\"name\":\"Labels for Website\",\"slug\":\"label\"}}"// Using the Universal JavaScript Client:// https://github.com/storyblok/storyblok-js-clientStoryblok.post('spaces/288868932106293/datasources/', { "datasource": { "dimensions_attributes": [ { "entry_value": "es", "name": "Spanish" }, { "entry_value": "de", "name": "German" } ], "name": "Labels for Website", "slug": "label" }}) .then(response => { console.log(response) }).catch(error => { console.log(error) })$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = ["datasource" => ["dimensions_attributes" => [["entry_value" => "es","name" => "Spanish"],["entry_value" => "de","name" => "German"]],"name" => "Labels for Website","slug" => "label"]];
$client->post('spaces/288868932106293/datasources/', $payload)->getBody();HttpResponse<String> response = Unirest.post("https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/") .header("Content-Type", "application/json") .header("Authorization", "YOUR_OAUTH_TOKEN") .body({"datasource":{"dimensions_attributes":[{"entry_value":"es","name":"Spanish"},{"entry_value":"de","name":"German"}],"name":"Labels for Website","slug":"label"}}) .asString();var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/");var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");request.AddParameter("application/json", "{\"datasource\":{\"dimensions_attributes\":[{\"entry_value\":\"es\",\"name\":\"Spanish\"},{\"entry_value\":\"de\",\"name\":\"German\"}],\"name\":\"Labels for Website\",\"slug\":\"label\"}}", ParameterType.RequestBody);IRestResponse response = client.Execute(request);import requests
url = "https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/"
querystring = {}
payload = {"datasource":{"dimensions_attributes":[{"entry_value":"es","name":"Spanish"},{"entry_value":"de","name":"German"}],"name":"Labels for Website","slug":"label"}}headers = { 'Content-Type': "application/json", 'Authorization': "YOUR_OAUTH_TOKEN"}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)require 'storyblok'client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {"datasource" => {"dimensions_attributes" => [{"entry_value" => "es","name" => "Spanish"},{"entry_value" => "de","name" => "German"}],"name" => "Labels for Website","slug" => "label"}}
client.post('spaces/288868932106293/datasources/', payload)var request = URLRequest(url: URL(string: "https://mapi.storyblok.com/v1/spaces/288868932106293/datasources/")!)request.setValue("YOUR_OAUTH_TOKEN", forHTTPHeaderField: "Authorization")request.httpMethod = "POST"request.httpBody = try JSONSerialization.data(withJSONObject: [ "datasource": [ "dimensions_attributes": [ [ "entry_value": "es", "name": "Spanish", ], [ "entry_value": "de", "name": "German", ], ], "name": "Labels for Website", "slug": "label", ],])let (data, _) = try await URLSession.shared.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(ContentNegotiation) { json() } install(DefaultRequest) { url { takeFrom("https://mapi.storyblok.com/v1/") headers.append("Authorization", "YOUR_OAUTH_TOKEN") } }}
val response = client.post("spaces/288868932106293/datasources/") { contentType(ContentType.Application.Json) setBody(buildJsonObject { putJsonObject("datasource") { putJsonArray("dimensions_attributes") { addJsonObject { put("entry_value", "es") put("name", "Spanish") } addJsonObject { put("entry_value", "de") put("name", "German") } } put("name", "Labels for Website") put("slug", "label") } })}
println(response.body<JsonElement>())Get in touch with the Storyblok community