Jump to >

Review Reply List Resource

Provides information on a reply to a review.

A reply is much like a review, but is always tied to exactly one parent review. Every comment associated with a reply is also tied to a parent comment.

Details

Name replies
URI /api/review-requests/{review_request_id}/reviews/{review_id}/replies/
Token Policy ID review_reply
HTTP Methods
  • GET - Returns the list of all public replies on a review.
  • POST - Creates a reply to a review.
Parent Resource Review Resource
Child Resources
Anonymous Access Yes, if anonymous site access is enabled

HTTP GET

Returns the list of all public replies on a review.

Request Parameters

counts-onlyBoolean If specified, a single count field is returned with the number of results, instead of the results themselves.
max-resultsInteger The maximum number of results to return in this list. By default, this is 25. There is a hard limit of 200; if you need more than 200 results, you will need to make more than one request, using the “next” pagination link.
startInteger The 0-based index of the first result in the list. The start index is usually the previous start index plus the number of previous results. By default, this is 0.

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors

HTTP POST

Creates a reply to a review.

The new reply will start off as private. Only the author of the reply (the user who is logged in and issuing this API call) will be able to see and interact with the reply.

Initial data for the reply can be provided by passing data for any number of the fields. If nothing is provided, the reply will start off as blank.

If the user submitting this reply already has a pending draft reply on this review, then this will update the existing draft and return HTTP 303 See Other. Otherwise, this will create a new draft and return HTTP 201 Created. Either way, this request will return without a payload and with a Location header pointing to the location of the new draft reply.

Extra data can be stored on the reply for later lookup by passing extra_data.key_name=value. The key_name and value can be any valid strings. Passing a blank value will remove the key. The extra_data. prefix is required.

Request Parameters

body_bottomRich Text The response to the review content below the comments.
body_bottom_text_typeOne of plain, markdown

The text type used for the body_bottom field.

Added in 2.0.12

body_topRich Text The response to the review content above the comments.
body_top_text_typeOne of plain, markdown

The text type used for the body_top field.

Added in 2.0.12

force_text_typeOne of plain, markdown, html

The text type, if any, to force for returned text fields. The contents will be converted to the requested type in the payload, but will not be saved as that type.

Added in 2.0.9

publicBoolean Whether or not to make the reply public. If a reply is public, it cannot be made private again.
text_typeOne of plain, markdown Deprecated

The mode for the body_top and body_bottom text fields.

This is deprecated. Please use body_top_text_type and body_bottom_text_type instead.

Added in 2.0

Deprecated in 2.0.12

trivialBoolean

If true, the review does not send an email.

Added in 2.5

Errors

100 - Does Not ExistHTTP 404 - Not Found Object does not exist
101 - Permission DeniedHTTP 403 - Forbidden You don’t have permission for this
103 - Not Logged InHTTP 401 - Unauthorized You are not logged in
105 - Invalid Form DataHTTP 400 - Bad Request One or more fields had errors

Examples

application/vnd.reviewboard.org.review-replies+json

$ curl http://reviews.example.com/api/review-requests/8/reviews/8/replies/ -H "Accept: application/json"
Vary: Accept, Cookie
Item-Content-Type: application/vnd.reviewboard.org.review-reply+json
Content-Type: application/vnd.reviewboard.org.review-replies+json
X-Content-Type-Options: nosniff
{
  "links": {
    "create": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/", 
      "method": "POST"
    }, 
    "reply_draft": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/draft/", 
      "method": "GET"
    }, 
    "self": {
      "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/", 
      "method": "GET"
    }
  }, 
  "replies": [
    {
      "body_bottom": "", 
      "body_bottom_text_type": "plain", 
      "body_top": "Excellent point.", 
      "body_top_text_type": "plain", 
      "extra_data": {}, 
      "id": 10, 
      "links": {
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/", 
          "method": "DELETE"
        }, 
        "diff_comments": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/diff-comments/", 
          "method": "GET"
        }, 
        "file_attachment_comments": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/file-attachment-comments/", 
          "method": "GET"
        }, 
        "screenshot_comments": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/screenshot-comments/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/", 
          "method": "GET"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/8/replies/10/", 
          "method": "PUT"
        }, 
        "user": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }
      }, 
      "public": true, 
      "text_type": null, 
      "timestamp": "2010-08-28T02:26:47Z"
    }
  ], 
  "stat": "ok", 
  "total_results": 1
}