---
title: Create a Discussion
description: This endpoint creates a new discussion.
url: https://storyblok.com/docs/api/management/discussions/create-a-discussion
---

# Create a Discussion

POST

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

This endpoint creates a new discussion.

## Path parameters

-   `:space_id` (required) (number)
    
    Numeric ID of a space
    
-   `:story_id` (required) (number)
    
    ID of the story
    

## Request body properties

-   `comment` (required) (object)
    
    The `comment` is an object in the discussion that contains a `message_json` array object.
    
    Show `message_json` properties The `message_json` property is an array containing JSON objects representing the comments’ messages.
    
    -   `text` (string)
        
        The text part
        
    -   `type` (string)
        
        The type
        
    -   `attrs` (object)
        
        Attributes
        
    
-   `lang` (string)
    
    Language code to add the discussion to.
    
-   `title` (required) (string)
    
    Title of the discussion field.
    
-   `fieldname` (string)
    
    Technical name of the discussion field
    
-   `block_uid` (required) (string)
    
    The ID of discussion block.
    
-   `component` (string)
    
    The component/block name to which the discussion belongs to
    

## Response properties

-   `discussion` (The Discussions Object)
    
    The [discussions object](/docs/api/management/discussions/the-discussions-object)
    

## Examples

-   cURL
    
    ```shellscript
    curl "https://mapi.storyblok.com/v1/spaces/288868932106293/stories/12367/discussions" \
      -X POST \
      -H "Authorization: YOUR_OAUTH_TOKEN" \
      -H "Content-Type: application/json" \
      -d "{\"discussion\":{\"block_uid\":\"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"comment\":{\"message_json\":[{\"text\":\"this is a comment \",\"type\":\"text\"},{\"attrs\":{\"id\":99734,\"label\":\"Fortune Ikechi\"},\"type\":\"mention\"}]},\"component\":\"feature\",\"fieldname\":\"name\",\"lang\":\"default\",\"title\":\"Name\"}}"
    ```
    
-   JS
    
    ```javascript
    // storyblok-js-client@>=7, node@>=18
    import Storyblok from "storyblok-js-client";
    
    const storyblok = new Storyblok({
      oauthToken: "YOUR_PERSONAL_ACCESS_TOKEN",
    });
    
    try {
      const response = await storyblok.post('spaces/288868932106293/stories/12367/discussions', {
        "discussion": {
          "block_uid": "f7bd92e3-b309-4441-a8a0-654e499fefc8",
          "comment": {
            "message_json": [
              {
                "text": "this is a comment ",
                "type": "text"
              },
              {
                "attrs": {
                  "id": 99734,
                  "label": "Fortune Ikechi"
                },
                "type": "mention"
              }
            ]
          },
          "component": "feature",
          "fieldname": "name",
          "lang": "default",
          "title": "Name"
        }
      })
      console.log({ response })
    } catch (error) {
      console.log(error)
    }
    ```
    
-   PHP
    
    ```php
    $client = new \Storyblok\ManagementClient('YOUR_OAUTH_TOKEN');
    
    $payload = ["discussion" => ["block_uid" => "f7bd92e3-b309-4441-a8a0-654e499fefc8","comment" => ["message_json" => [["text" => "this is a comment ","type" => "text"],["attrs" => ["id" => 99734,"label" => "Fortune Ikechi"],"type" => "mention"]]],"component" => "feature","fieldname" => "name","lang" => "default","title" => "Name"]];
    
    $client->post('spaces/288868932106293/stories/12367/discussions', $payload)->getBody();
    ```
    
-   Java
    
    ```java
    HttpResponse<String> response = Unirest.post("https://mapi.storyblok.com/v1/spaces/288868932106293/stories/12367/discussions")
      .header("Content-Type", "application/json")
      .header("Authorization", "YOUR_OAUTH_TOKEN")
      .body({"discussion":{"block_uid":"f7bd92e3-b309-4441-a8a0-654e499fefc8","comment":{"message_json":[{"text":"this is a comment ","type":"text"},{"attrs":{"id":99734,"label":"Fortune Ikechi"},"type":"mention"}]},"component":"feature","fieldname":"name","lang":"default","title":"Name"}})
      .asString();
    ```
    
-   C#
    
    ```csharp
    var client = new RestClient("https://mapi.storyblok.com/v1/spaces/288868932106293/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\":{\"block_uid\":\"f7bd92e3-b309-4441-a8a0-654e499fefc8\",\"comment\":{\"message_json\":[{\"text\":\"this is a comment \",\"type\":\"text\"},{\"attrs\":{\"id\":99734,\"label\":\"Fortune Ikechi\"},\"type\":\"mention\"}]},\"component\":\"feature\",\"fieldname\":\"name\",\"lang\":\"default\",\"title\":\"Name\"}}", ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    ```
    
-   Python
    
    ```python
    import requests
    
    url = "https://mapi.storyblok.com/v1/spaces/288868932106293/stories/12367/discussions"
    
    querystring = {}
    
    payload = {"discussion":{"block_uid":"f7bd92e3-b309-4441-a8a0-654e499fefc8","comment":{"message_json":[{"text":"this is a comment ","type":"text"},{"attrs":{"id":99734,"label":"Fortune Ikechi"},"type":"mention"}]},"component":"feature","fieldname":"name","lang":"default","title":"Name"}}
    headers = {
      'Content-Type': "application/json",
      'Authorization': "YOUR_OAUTH_TOKEN"
    }
    
    response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
    
    print(response.text)
    ```
    
-   Ruby
    
    ```ruby
    require 'storyblok'
    client = Storyblok::Client.new(oauth_token: 'YOUR_OAUTH_TOKEN')
    
    payload = {"discussion" => {"block_uid" => "f7bd92e3-b309-4441-a8a0-654e499fefc8","comment" => {"message_json" => [{"text" => "this is a comment ","type" => "text"},{"attrs" => {"id" => 99734,"label" => "Fortune Ikechi"},"type" => "mention"}]},"component" => "feature","fieldname" => "name","lang" => "default","title" => "Name"}}
    
    client.post('spaces/288868932106293/stories/12367/discussions', payload)
    ```
    
-   Swift
    
    ```swift
    let storyblok = URLSession(storyblok: .mapi(accessToken: .oauth("YOUR_OAUTH_TOKEN")))
    var request = URLRequest(storyblok: storyblok, path: "spaces/288868932106293/stories/12367/discussions")
    request.httpMethod = "POST"
    request.httpBody = try JSONSerialization.data(withJSONObject: [
        "discussion": [
            "block_uid": "f7bd92e3-b309-4441-a8a0-654e499fefc8",
            "comment": [
                "message_json": [
                    [
                        "text": "this is a comment ",
                        "type": "text",
                    ],
                    [
                        "attrs": [
                            "id": 99734,
                            "label": "Fortune Ikechi",
                        ],
                        "type": "mention",
                    ],
                ],
            ],
            "component": "feature",
            "fieldname": "name",
            "lang": "default",
            "title": "Name",
        ],
    ])
    let (data, _) = try await storyblok.data(for: request)
    print(try JSONSerialization.jsonObject(with: data))
    ```
    
-   Kotlin
    
    ```kotlin
    val client = HttpClient {
        install(Storyblok(MAPI)) {
            accessToken = OAuth("YOUR_OAUTH_TOKEN")
        }
    }
    
    val response = client.post("spaces/288868932106293/stories/12367/discussions") {
        setBody(buildJsonObject {
            putJsonObject("discussion") {
                put("block_uid", "f7bd92e3-b309-4441-a8a0-654e499fefc8")
                putJsonObject("comment") {
                    putJsonArray("message_json") {
                        addJsonObject {
                            put("text", "this is a comment ")
                            put("type", "text")
                        }
                        addJsonObject {
                            putJsonObject("attrs") {
                                put("id", 99734)
                                put("label", "Fortune Ikechi")
                            }
                            put("type", "mention")
                        }
                    }
                }
                put("component", "feature")
                put("fieldname", "name")
                put("lang", "default")
                put("title", "Name")
            }
        })
    }
    
    println(response.body<JsonElement>())
    ```

You will receive a [discussions object](/docs/api/management/discussions/the-discussions-object) as a response.

## Pagination

-   [Previous: Create a Comment](/docs/api/management/discussions/create-a-comment)
-   [Next: Delete a Comment](/docs/api/management/discussions/delete-a-comment)
