GET /api/discussions

Returns a list of discussions that match specified filter criteria, in the form of a JSON object.

Note: Use this operation rather than GET /api/discussions (with Accept header of application/json) which returns the results in the form of an RSS channel.

Authorization Roles/Permissions: Must be logged in and have permission to view the requested resources. If the user is logged in but doesn't have permission to view certain resources, the operation works, but limited (or empty) results are returned.

This topic includes the following sections:

HTTP Method

GET

URL

https://{hostname}/api/discussions

Sample Request

Request URL #1

The example below shows a request for the discussion items relating to a specific API version.

https://{hostname}/api/discussions?DiscussionSubjectID=f8e35097-f3e7-4583-9f6b-f25c7fe0e632.acmepaymentscorp

Request URL #2

The example below shows a request for a specific discussion.

https://{hostname}/api/discussions?ItemID=discussion11019.acmepaymentscorp

Sample request headers

Accept: application/vnd.soa.v71+json
X-Csrf-Token_acmepaymentscorp: TokenID%3D8ed70a13-8469-11e8-b37a-b155e4eabeb8%2CexpirationTime%3D153...

Sample request body

Not applicable.

Request Headers

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

Header Description
Accept application/vnd.soa.v71+json, application/vnd.soa.v72+json, application/vnd.soa.v71+xml, application/vnd.soa.v72+xml
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
DiscussionSubjectID Query string Optional The unique ID for the specific resource that a discussion relates to; for example, the AppVersionID, APIVersionID, GroupID, or a custom BoardID. Use this if you only want information about discussions for a specific resource such as an app version or API version.
DiscussionType Query string Optional The type of discussion. No longer in use.
RetrievingUserID Query string Optional The ID of the user retrieving the discussion information.
IncludeAPIDiscussions Query boolean Optional Indicates whether API discussions should be included in the information returned. Default: true. If set to false, API discussions are excluded.
IncludeAppDiscussions Query boolean Optional Indicates whether app discussions should be included in the information returned. Default: false. If set to true, app discussions are included.
IncludeBoardDiscussions Query boolean Optional Indicates whether Board discussions should be included in the information returned. Default: false. If set to true, Board discussions are included.
IncludeGroupDiscussions Query boolean Optional Indicates whether group discussions should be included in the information returned. Default: false. If set to true, group discussions are included.
AuthorID Query string Optional The unique ID for the author of a discussion. If this parameter is included, only discussions created by this author are included in the results.
ItemID Query string Optional The unique ID for a specific forum entry.
Tag Query string Optional Name of a specific discussion tag, if information relating to only a specific tag is required.
IncludeComments Query boolean Optional Indicates whether comments should be included in the information returned. Default: true. If set to false, comments are excluded.
NumberOfComments Query integer Optional The number of comments to be returned (if IncludeComments is not set to false). Default value: 2.
count Query integer Optional The number of results to be returned, from the specified starting point. If not specified, all matching results are returned.
IncludeSelfAuthored Query string Optional

Indicates whether resources authored by the requestor should be included.

Default: true.

PublishedState Query string Optional

Indicates that only resources in a specific state should be returned. Valid values: published or unpublished.

Default: published, indicating that only resources that have been published are returned.

Response

If successful, this operation returns HTTP status code 200, with information about discussions.

Sample Response

The sample response below shows successful completion of sample request #1.

Sample response headers: application/vnd.soa.v71+json

Status Code: 200 OK
Content-Type: application/vnd.soa.v71+json
Expires: Mon, 11 May 2015 16:19:05 GMT

Sample response body: application/vnd.soa.v71+json

{
  "Discussion":[
    {
      "DiscussionID":"063fe661-a74f-40d2-a242-9d49ec426e81.acmepaymentscorp",
      "DiscussionSubjectID":"ecbf7010-abcf-41f8-9f52-1c02b3a51984.acmepaymentscorp",
      "DiscussionType":"com.soa.discussion.type.comment",
      "Topic":"Call for feature requests ",
      "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!",
      "UserID":"8dba2d85-1108-417f-ad81-7a369e9e5d79.acmepaymentscorp",
      "Created":"2015-05-11T20:29:53Z",
      "Comments":0,
      "Marks":0,
      "IsMarked":false,
      "Visibility":"Limited",
      "PubDate":"2015-05-11T20:29:53Z",
      "CommentsPreview":{
        "Count":0,
        "Comment":[
        ]
      },
      "Action":[
        {
          "value":"discussion.action.delete",
          "label":"discussion.action.delete"
        }
      ],
      "Link":"../acmepaymentscorp#/forum/discussions/063fe661-a74f-40d2-a242-9d49ec426e81.acmepaymentscorp/details",
      "AuthoringUser":{
        "UserID":"8dba2d85-1108-417f-ad81-7a369e9e5d79.acmepaymentscorp",
        "Name":"JaneMead",
        "Image":{
          "Url":"http://{hostname}/api/users/8dba2d85-1108-417f-ad81-7a369e9e5d79.acmepaymentscorp/avatar",
          "Title":"JaneMead",
          "Link":"#/users/8dba2d85-1108-417f-ad81-7a369e9e5d79.acmepaymentscorp/details"
        }
      },
      "TargetResources":{
        "TargetResource":[
          {
            "Name":"ACME Payments API",
            "ID":"2f8d7e07-d23c-4f28-9129-02163c032bc7.acmepaymentscorp",
            "Type":"api"
          },
          {
            "Name":"1.0",
            "ID":"ecbf7010-abcf-41f8-9f52-1c02b3a51984.acmepaymentscorp",
            "Type":"apiversion"
          }
        ]
      },
      "Image":{
        "Url":"http://{hostname}/api/users/8dba2d85-1108-417f-ad81-7a369e9e5d79.acmepaymentscorp/avatar"
      },
      "Published":true,
      "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"
          }
        ]
      }
    }
  ]
}

Response Headers

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

Header Description
Content-Type application/vnd.soa.v71+json, application/vnd.soa.v72+json, application/vnd.soa.v71+xml, application/vnd.soa.v72+xml

Response Body

Name Type Description
Discussions Discussions Contains information about one or more discussions.

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.
500 An error occurred processing the call.

More information about Akana API Platform API error messages.