Create a Datasource
POST
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\"}}"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ oauthToken: "YOUR_PERSONAL_ACCESS_TOKEN",});
try { const response = await storyblok.post('spaces/288868932106293/datasources/', { "datasource": { "name": "Labels for Website", "slug": "labels" }}) 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)let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/datasources/")request.httpMethod = "POST"request.httpBody = try JSONSerialization.data(withJSONObject: [ "datasource": [ "name": "Labels for Website", "slug": "labels", ],])let (data, _) = try await storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(MAPI)) { accessToken = OAuth("YOUR_OAUTH_TOKEN") }}
val response = client.post("spaces/288868932106293/datasources/") { 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\"}}"// storyblok-js-client@>=7, node@>=18import Storyblok from "storyblok-js-client";
const storyblok = new Storyblok({ oauthToken: "YOUR_PERSONAL_ACCESS_TOKEN",});
try { const response = await storyblok.post('spaces/288868932106293/datasources/', { "datasource": { "dimensions_attributes": [ { "entry_value": "es", "name": "Spanish" }, { "entry_value": "de", "name": "German" } ], "name": "Labels for Website", "slug": "label" }}) 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)let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/datasources/")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 storyblok.data(for: request)print(try JSONSerialization.jsonObject(with: data))val client = HttpClient { install(Storyblok(MAPI)) { accessToken = OAuth("YOUR_OAUTH_TOKEN") }}
val response = client.post("spaces/288868932106293/datasources/") { 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>())
Thanks! We received your feedback.
An error occurred. Please try again.
Was this page helpful?
This site uses reCAPTCHA and Google's Privacy Policy (opens in a new window) . Terms of Service (opens in a new window) apply.
Get in touch with the Storyblok community