1. Retrieve Multiple Discussions

Retrieve Multiple Discussions

Returns an array of discussion objects present inside a particular story. This endpoint is paged and can be filtered by using page=1 , status and per_page=1 for retrieving discussions per page.

https://mapi.storyblok.com/v1/spaces/:space_id/stories/:story_id/discussions

Path Parameters

  • :space_id

    required number

    Numeric ID of a space

  • :story_id

    required number

    ID of the story

Query Parameters

  • per_page

    number

    Default: 25. Max: 100. Learn more under Pagination.

  • page

    number

    Default: 1. Learn more under Pagination.

  • by_status

    string

    Filters discussions based on their status. You can use values like unsolved, or solved to retrieve discussions with specific statuses.

Response Properties

  • discussions

    The Discussions Object[]

    An array of discussions objects

    • id

      number

      The numeric ID of the discussion

    • title

      string

      Title of the discussion field

    • block_uid

      string

      The ID of discussion block

    • fieldname

      string

      Technical name of the discussion field

    • solved_at

      string

      The time a discussion is resolved. (Format: YYYY-mm-dd HH:MM)

    • component

      string

      The component/block name to which the discussion belongs to

    • lang

      string

      Language code in which the discussion is present.

    • uuid

      string

      Generated UUID string

    • last_comment

      object

      The last_comment is an object that contains the details about the last comment of that discussion.

      • id

        number

        The numeric ID

      • created_at

        string

        Creation date (Format: yyyy-MM-dd'T'HH:mm:ssZ)

      • updated_at

        string

        Latest update date (Format: yyyy-MM-dd'T'HH:mm:ssZ)

      • message

        null or string

        The message of a comment, with the datatype of null or a string.

      • message_json

        object

        An array with properties of the message such as type , text and attrs.

      • user_id

        number

        User/numeric id of collaborator

      • uuid

        string

        Generated UUID string

Request Example

Request
curl "https://mapi.storyblok.com/v1/spaces/606/stories/1234/discussions?per_page=1&page=1&by_status=unsolved" \
  -X GET \
  -H "Authorization: YOUR_OAUTH_TOKEN" \
  -H "Content-Type: application/json"
Request
// Using the Universal JavaScript Client:
// https://github.com/storyblok/storyblok-js-client
Storyblok.get('/spaces/606/stories/1234/discussions', {
  "per_page": "1",
  "page": "1",
  "by_status": "unsolved"
})
  .then(response => {
    console.log(response)
  }).catch(error => { 
    console.log(error)
  })
Request
$client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');

$client->get('/spaces/606/stories/1234/discussions', [
  "per_page" =>  "1",
  "page" =>  "1",
  "by_status" =>  "unsolved"
])->getBody();
Request
require 'storyblok'
client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')

client.false('/spaces/606/stories/1234/discussions', {:params => {
  "per_page" =>  "1",
  "page" =>  "1",
  "by_status" =>  "unsolved"
}})
Request
HttpResponse<String> response = Unirest.get("https://mapi.storyblok.com/v1/spaces/606/stories/1234/discussions?per_page=1&page=1&by_status=unsolved")
  .header("Authorization", "YOUR_OAUTH_TOKEN")
  .asString();
Request
var client = new RestClient("https://mapi.storyblok.com/v1/spaces/606/stories/1234/discussions?per_page=1&page=1&by_status=unsolved");
var request = new RestRequest(Method.GET);

request.AddHeader("Authorization", "YOUR_OAUTH_TOKEN");
IRestResponse response = client.Execute(request);
Request
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://mapi.storyblok.com/v1/spaces/606/stories/1234/discussions?per_page=1&page=1&by_status=unsolved")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.method = "GET"
request.allHTTPHeaderFields = headers

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/stories/1234/discussions"

querystring = {"per_page":"1","page":"1","by_status":"unsolved"}

payload = ""
headers = {
  'Content-Type': "application/json",
  'Authorization': "YOUR_OAUTH_TOKEN"
}

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

print(response.text)