POST /api/discussions

Starts a new discussion.

Note: If you are using markdown, and will be incorporating one or more artifacts in your discussion, you must upload the artifacts first. Run the POST /api/boards/items/artifacts operation to upload the first artifact and the POST /api/boards/items/{BoardItemID}/artifacts operation to upload any subsequent artifacts. Use the values from the responses, such as the BoardItemID and the image paths, to construct the payload for adding the discussion.

Authorization Roles/Permissions: Must be logged in. Must be an authorized user for the resource.

This topic includes the following sections:

HTTP Method

POST

URL

https://{hostname}/api/discussions

Sample Request

The example below shows a user starting a new discussion relating to an API.

Sample Request URL

https://{hostname}/api/discussions

Sample request headers

POST /api/discussions HTTP/1.1
Host: {hostname}
Accept: text/plain
Content-Type: application/json
X-Csrf-Token_acmepaymentscorp: TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...

Sample request body: no artifacts

{ 
  "Content":"We are planning for our next release. Feature requests welcome!",
  "DiscussionSubjectID":"0157f427-0b07-4ae6-9ade-26f4ef3bcc71.acmepaymentscorp",
  "DiscussionType":"com.soa.discussion.type.comment",
  "Tag":[ 
    "features",
    "announcement"
  ],
  "Topic":"Call for feature requests",
  "UserID":"aadb625a-6a2a-41b6-9801-f40f81db7a16.acmepaymentscorp",
  "DescriptionMediaType":"text/markdown",
  "BoardItemArtifacts":{ 
    "BoardItemArtifact":[ 
    ]
  }
}

Sample request body: with artifacts

{
  "Content":"We are planning for our next release. Feature requests welcome! \n\n![image](http://{hostname}/api/boards/items/063fe661-a74f-40d2-a242-9d49ec426e81.acmepaymentscorp/img_dollars.jpg \"img_dollars.jpg\")\n\nCash prizes for the first five suggestions that we use!",
  "DiscussionSubjectID":"0157f427-0b07-4ae6-9ade-26f4ef3bcc71.acmepaymentscorp",
  "DiscussionType":"com.soa.discussion.type.comment",
  "Tag":[
  ],
  "Topic":"Call for feature requests",
  "UserID":"aadb625a-6a2a-41b6-9801-f40f81db7a16.acmepaymentscorp",
  "DescriptionMediaType":"text/markdown",
  "BoardItemArtifacts":{
    "BoardItemArtifact":[
      {
        "ContextID":"063fe661-a74f-40d2-a242-9d49ec426e81.acmepaymentscorp",
        "FileName":"img_dollars.jpg",
        "BaseUri":"http://{hostname}",
        "UriPath":"/api/boards/items/063fe661-a74f-40d2-a242-9d49ec426e81.acmepaymentscorp/img_dollars.jpg"
      }
    ]
  }
}

Request Headers

For general information on request header values, refer to HTTP Request Headers.

Header Description
Accept Any Accept header value that supports a response Content-Type of text/plain is valid; for example, */*.
Content-Type

Any one of the following media types is valid for the request Content-Type:

application/json, application/vnd.soa.v71+json, application/vnd.soa.v72+json

Cookie AtmoAuthToken_{fedmemberid}={cookie value, which usually starts with TokenID}—The platform cookie. This is the Akana API Platform authorization token, and must be sent with every API request that requires login. For more information and an example, see Session cookies.
X-Csrf-Token_{fedmemberID} The CSRF prevention header; may or may not be required, depending on platform settings. See CSRF Prevention on the Platform. By default, the CSRF header is not required for GET operations and is required for all others, with a few exceptions relating to user login.

Request Parameters

Parameter Parm Type Data Type Required Description
discussion Body Discussion Required Includes information about a discussion. Content, DiscussionSubjectID, Topic, and UserID are required.

Response

If successful, this operation returns HTTP status code 200, with the DiscussionID for the new discussion in plain text.

Sample Response

The sample response below shows successful completion of this operation.

Sample response headers

HTTP/1.1 200 OK
Content-Type: text/plain
Date: Mon, 25 Oct 2021 17:55:40 GMT

Sample response body

discussion658623.acmepaymentscorp

Response Headers

For general information on response header values, refer to HTTP Response Headers.

Header Description
Content-Type text/plain

Response Body

Name Type Description
DiscussionID string The unique ID for a specific discussion.

Error Codes/Messages

If the call is unsuccessful an error code/message is returned. One or more examples of possible errors for this operation are shown below.

Item Value
401

Unauthorized. For example, you would get this response if you didn't include the custom X-Csrf-Token_{fedmemberID} header in the request, when it was required by the platform settings; or if you included an invalid or expired value for this header. You would also get this response for any operation that requires login (almost all) if the login cookie was missing.

You would also get this response if you hadn't logged in before running the operation, or if the resource was private and you were not an authorized user.

405 Method Not Allowed. You might get this if there is an error in the URL, or if you used the wrong HTTP verb.
500 An error occurred processing the call.

More information about Akana API Platform API error messages.