Create a Discussion
This endpoint creates a new discussion.
https://mapi.storyblok.com/v1/spaces/space_id/stories/story_id/discussions
Path Parameters
-
:space_id
required numberNumeric ID of a space
-
:story_id
required numberID of the story
Request Body Properties
-
comment
objectThe
comment
is an object in the discussion that contains a message_json array object. Required-
message_json
objectThe
message_json
property is an array containing JSON objects representing the comments’ messages.-
text
stringThe text part
-
type
stringThe type
-
attrs
objectAttributes
-
-
-
lang
stringLanguage code to add the discussion to.
-
title
stringTitle of the discussion field. Required
-
fieldname
stringTechnical name of the discussion field
-
block_uid
stringThe ID of discussion block. Required
-
component
stringThe component/block name to which the discussion belongs to
Response Properties
-
discussion
The Discussions Object-
id
numberThe numeric ID of the discussion
-
title
stringTitle of the discussion field
-
block_uid
stringThe ID of discussion block
-
fieldname
stringTechnical name of the discussion field
-
solved_at
stringThe time a discussion is resolved. (Format:
YYYY-mm-dd HH:MM
) -
component
stringThe component/block name to which the discussion belongs to
-
lang
stringLanguage code in which the discussion is present.
-
uuid
stringGenerated UUID string
-
last_comment
objectThe
last_comment
is an object that contains the details about the last comment of that discussion.-
id
numberThe numeric ID
-
created_at
stringCreation date (Format:
yyyy-MM-dd'T'HH:mm:ssZ
) -
updated_at
stringLatest update date (Format:
yyyy-MM-dd'T'HH:mm:ssZ
) -
message
null or stringThe message of a comment, with the datatype of
null
or a string. -
message_json
objectAn array with properties of the message such as
type
,text
andattrs
. -
user_id
numberUser/numeric id of collaborator
-
uuid
stringGenerated UUID string
-
-
curl "https://mapi.storyblok.com/v1/spaces/606/stories/12367/discussions" \
-X POST \
-H "Content-Type: application/json" \
-H "Authorization: YOUR_OAUTH_TOKEN" \
-d "{\"discussion\": {\"comment\": {\"message_json\": [{\"type\": \"text\",\"text\": \"this is a comment \"},{\"type\": \"mention\",\"attrs\": {\"id\": 99734,\"label\": \"Fortune Ikechi\"}}]},\"lang\": \"default\",\"title\": \"Name\",\"fieldname\": \"name\",\"block_uid\": \"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"component\": \"feature\"}}"
// Using the Universal JavaScript Client:
// https://github.com/storyblok/storyblok-js-client
Storyblok.post('/spaces/606/stories/12367/discussions', {
"discussion": {
"comment": {
"message_json": [
{
"type": "text",
"text": "this is a comment "
},
{
"type": "mention",
"attrs": {
"id": 99734,
"label": "Fortune Ikechi"
}
}
]
},
"lang": "default",
"title": "Name",
"fieldname": "name",
"block_uid": "f7bd92e3-b309-4441-a8a0-654e499fefc8",
"component": "feature"
}
})
.then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
$payload = [
"discussion" => [
"comment" => [
"message_json" => [
[
"type" => "text",
"text" => "this is a comment "
],
[
"type" => "mention",
"attrs" => [
"id" => 99734,
"label" => "Fortune Ikechi"
]
]
]
],
"lang" => "default",
"title" => "Name",
"fieldname" => "name",
"block_uid" => "f7bd92e3-b309-4441-a8a0-654e499fefc8",
"component" => "feature"
]
];
$client->post('/spaces/606/stories/12367/discussions', $payload)->getBody();
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
payload = {
"discussion" => {
"comment" => {
"message_json" => [
{
"type" => "text",
"text" => "this is a comment "
},
{
"type" => "mention",
"attrs" => {
"id" => 99734,
"label" => "Fortune Ikechi"
}
}
]
},
"lang" => "default",
"title" => "Name",
"fieldname" => "name",
"block_uid" => "f7bd92e3-b309-4441-a8a0-654e499fefc8",
"component" => "feature"
}
}
client.post('/spaces/606/stories/12367/discussions', payload)
HttpResponse<String> response = Unirest.post("https://mapi.storyblok.com/v1/spaces/606/stories/12367/discussions")
.header("Content-Type", "application/json")
.header("Authorization", "YOUR_OAUTH_TOKEN")
.body("{\"discussion\": {\"comment\": {\"message_json\": [{\"type\": \"text\",\"text\": \"this is a comment \"},{\"type\": \"mention\",\"attrs\": {\"id\": 99734,\"label\": \"Fortune Ikechi\"}}]},\"lang\": \"default\",\"title\": \"Name\",\"fieldname\": \"name\",\"block_uid\": \"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"component\": \"feature\"}}")
.asString();
var client = new RestClient("https://mapi.storyblok.com/v1/spaces/606/stories/12367/discussions");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
request.AddParameter("application/json", "{\"discussion\": {\"comment\": {\"message_json\": [{\"type\": \"text\",\"text\": \"this is a comment \"},{\"type\": \"mention\",\"attrs\": {\"id\": 99734,\"label\": \"Fortune Ikechi\"}}]},\"lang\": \"default\",\"title\": \"Name\",\"fieldname\": \"name\",\"block_uid\": \"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"component\": \"feature\"}}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
import Foundation
let headers = [
"Content-Type": "application/json",
"Authorization": "YOUR_OAUTH_TOKEN"
]
let postData = NSData(data: "{\"discussion\": {\"comment\": {\"message_json\": [{\"type\": \"text\",\"text\": \"this is a comment \"},{\"type\": \"mention\",\"attrs\": {\"id\": 99734,\"label\": \"Fortune Ikechi\"}}]},\"lang\": \"default\",\"title\": \"Name\",\"fieldname\": \"name\",\"block_uid\": \"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"component\": \"feature\"}}".data(using: String.Encoding.utf8)!)
let request = NSMutableURLRequest(url: NSURL(string: "https://mapi.storyblok.com/v1/spaces/606/stories/12367/discussions")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.method = "POST"
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/stories/12367/discussions"
querystring = {}
payload = "{\"discussion\": {\"comment\": {\"message_json\": [{\"type\": \"text\",\"text\": \"this is a comment \"},{\"type\": \"mention\",\"attrs\": {\"id\": 99734,\"label\": \"Fortune Ikechi\"}}]},\"lang\": \"default\",\"title\": \"Name\",\"fieldname\": \"name\",\"block_uid\": \"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"component\": \"feature\"}}"
headers = {
'Content-Type': "application/json",
'Authorization': "YOUR_OAUTH_TOKEN"
}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)
You will receive a discussions object as a response.