Jump to >

Review Request List Resource

Name review_requests
URI /api/review-requests/
Description Provides information on review requests.
HTTP Methods
  • GET - Returns all review requests that the user has read access to.
  • POST - Creates a new review request.
Parent Resource Root List Resource
Child Resources
Anonymous Access Yes, if anonymous site access is enabled

HTTP GET

Returns all review requests that the user has read access to.

By default, this returns all published or formerly published review requests.

The resulting list can be filtered down through the many request parameters.

Request Parameters

Field Type Description
changenum (optional) String The change number the review requests must have set. This will only return one review request per repository, and only works for repository types that support server-side changesets.
counts-only (optional) Boolean If specified, a single count field is returned with the number of results, instead of the results themselves.
from-user (optional) String The username that the review requests must be owned by.
last-updated-from (optional) String The earliest date/time the review request could be last updated. This is compared against the review request’s last_updated field. This must be a valid date/time format.
last-updated-to (optional) String The date/time that all review requests must be last updated before. This is compared against the review request’s last_updated field. This must be a valid date/time format.
max-results (optional) Integer The maximum number of results to return in this list. By default, this is 25.
repository (optional) Integer The ID of the repository that the review requests must be on.
ship-it (optional) Boolean The review request must have at least one review with Ship It set, if this is 1. Otherwise, if 0, it must not have any marked Ship It.
start (optional) Integer 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.
status (optional) One of all, discarded, pending, submitted The status of the review requests.
time-added-from (optional) String The earliest date/time the review request could be added. This is compared against the review request’s time_added field. This must be a valid date/time format.
time-added-to (optional) String The date/time that all review requests must be added before. This is compared against the review request’s time_added field. This must be a valid date/time format.
to-groups (optional) String A comma-separated list of review group names that the review requests must have in the reviewer list.
to-user-groups (optional) String A comma-separated list of usernames who are in groups that the review requests must have in the reviewer list.
to-users (optional) String A comma-separated list of usernames that the review requests must either have in the reviewer list specifically or by way of a group.
to-users-directly (optional) String A comma-separated list of usernames that the review requests must have in the reviewer list specifically.

HTTP POST

Creates a new review request.

The new review request will start off as private and pending, and will normally be blank. However, if changenum is passed and the given repository both supports server-side changesets and has changeset support in Review Board, some details (Summary, Description and Testing Done sections, for instance) may be automatically filled in from the server.

Any new review request will have an associated draft (reachable through the draft link). All the details of the review request must be set through the draft. The new review request will be public when that first draft is published.

A repository can be passed. This is required for diffs associated with a review request. A valid repository is in the form of a numeric repository ID, the name of a repository, or the path to a repository (matching exactly the registered repository’s Path or Mirror Path fields in the adminstration interface).

If a repository is not passed, this review request can only be used for attached files.

Clients can create review requests on behalf of another user by setting the submit_as parameter to the username of the desired user. This requires that the client is currently logged in as a user that has the reviews.can_submit_as_another_user permission set. This capability is useful when writing automation scripts, such as post-commit hooks, that need to create review requests for another user.

Request Parameters

Field Type Description
changenum (optional) Integer The optional changenumber to look up for the review request details. This only works with repositories that support server-side changesets.
repository (optional) String The path or ID of the repository that the review request is for.
submit_as (optional) String The optional user to submit the review request as. This requires that the actual logged in user is either a superuser or has the “reviews.can_submit_as_another_user” permission.

Errors

Examples

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

{
  "links": {
    "create": {
      "href": "http://reviews.example.com/api/review-requests/", 
      "method": "POST"
    }, 
    "self": {
      "href": "http://reviews.example.com/api/review-requests/", 
      "method": "GET"
    }
  }, 
  "review_requests": [
    {
      "branch": "trunk", 
      "bugs_closed": [], 
      "changenum": null, 
      "description": "This is a test designed for interdiffs.", 
      "id": 8, 
      "last_updated": "2010-08-28 02:26:18", 
      "links": {
        "changes": {
          "href": "http://reviews.example.com/api/review-requests/8/changes/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/8/", 
          "method": "DELETE"
        }, 
        "diffs": {
          "href": "http://reviews.example.com/api/review-requests/8/diffs/", 
          "method": "GET"
        }, 
        "draft": {
          "href": "http://reviews.example.com/api/review-requests/8/draft/", 
          "method": "GET"
        }, 
        "file_attachments": {
          "href": "http://reviews.example.com/api/review-requests/8/file-attachments/", 
          "method": "GET"
        }, 
        "last_update": {
          "href": "http://reviews.example.com/api/review-requests/8/last-update/", 
          "method": "GET"
        }, 
        "repository": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "GET", 
          "title": "Review Board SVN"
        }, 
        "reviews": {
          "href": "http://reviews.example.com/api/review-requests/8/reviews/", 
          "method": "GET"
        }, 
        "screenshots": {
          "href": "http://reviews.example.com/api/review-requests/8/screenshots/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/8/", 
          "method": "GET"
        }, 
        "submitter": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/8/", 
          "method": "PUT"
        }
      }, 
      "public": true, 
      "status": "pending", 
      "summary": "Interdiff Revision Test", 
      "target_groups": [], 
      "target_people": [
        {
          "href": "http://reviews.example.com/api/users/grumpy/", 
          "method": "GET", 
          "title": "grumpy"
        }
      ], 
      "testing_done": "", 
      "time_added": "2009-02-25 02:01:21"
    }, 
    {
      "branch": "", 
      "bugs_closed": [
        "12345"
      ], 
      "changenum": 1234, 
      "description": "Test description.", 
      "id": 4, 
      "last_updated": "2007-06-24 01:11:24", 
      "links": {
        "changes": {
          "href": "http://reviews.example.com/api/review-requests/4/changes/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/4/", 
          "method": "DELETE"
        }, 
        "diffs": {
          "href": "http://reviews.example.com/api/review-requests/4/diffs/", 
          "method": "GET"
        }, 
        "draft": {
          "href": "http://reviews.example.com/api/review-requests/4/draft/", 
          "method": "GET"
        }, 
        "file_attachments": {
          "href": "http://reviews.example.com/api/review-requests/4/file-attachments/", 
          "method": "GET"
        }, 
        "last_update": {
          "href": "http://reviews.example.com/api/review-requests/4/last-update/", 
          "method": "GET"
        }, 
        "repository": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "GET", 
          "title": "Review Board SVN"
        }, 
        "reviews": {
          "href": "http://reviews.example.com/api/review-requests/4/reviews/", 
          "method": "GET"
        }, 
        "screenshots": {
          "href": "http://reviews.example.com/api/review-requests/4/screenshots/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/4/", 
          "method": "GET"
        }, 
        "submitter": {
          "href": "http://reviews.example.com/api/users/grumpy/", 
          "method": "GET", 
          "title": "grumpy"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/4/", 
          "method": "PUT"
        }
      }, 
      "public": true, 
      "status": "pending", 
      "summary": "Made e-mail improvements", 
      "target_groups": [], 
      "target_people": [
        {
          "href": "http://reviews.example.com/api/users/doc/", 
          "method": "GET", 
          "title": "doc"
        }
      ], 
      "testing_done": "Tested.", 
      "time_added": "2007-06-24 00:42:42"
    }, 
    {
      "branch": "trunk", 
      "bugs_closed": [], 
      "changenum": null, 
      "description": "Foo", 
      "id": 6, 
      "last_updated": "2007-06-24 01:10:59", 
      "links": {
        "changes": {
          "href": "http://reviews.example.com/api/review-requests/6/changes/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/6/", 
          "method": "DELETE"
        }, 
        "diffs": {
          "href": "http://reviews.example.com/api/review-requests/6/diffs/", 
          "method": "GET"
        }, 
        "draft": {
          "href": "http://reviews.example.com/api/review-requests/6/draft/", 
          "method": "GET"
        }, 
        "file_attachments": {
          "href": "http://reviews.example.com/api/review-requests/6/file-attachments/", 
          "method": "GET"
        }, 
        "last_update": {
          "href": "http://reviews.example.com/api/review-requests/6/last-update/", 
          "method": "GET"
        }, 
        "repository": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "GET", 
          "title": "Review Board SVN"
        }, 
        "reviews": {
          "href": "http://reviews.example.com/api/review-requests/6/reviews/", 
          "method": "GET"
        }, 
        "screenshots": {
          "href": "http://reviews.example.com/api/review-requests/6/screenshots/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/6/", 
          "method": "GET"
        }, 
        "submitter": {
          "href": "http://reviews.example.com/api/users/dopey/", 
          "method": "GET", 
          "title": "dopey"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/6/", 
          "method": "PUT"
        }
      }, 
      "public": true, 
      "status": "pending", 
      "summary": "Error dialog", 
      "target_groups": [
        {
          "href": "http://reviews.example.com/api/groups/emptygroup/", 
          "method": "GET", 
          "title": "emptygroup"
        }
      ], 
      "target_people": [], 
      "testing_done": "Bar", 
      "time_added": "2007-06-24 00:47:14"
    }, 
    {
      "branch": "trunk", 
      "bugs_closed": [
        "123"
      ], 
      "changenum": null, 
      "description": "Be compatible with cleaned_data changes in Django.", 
      "id": 2, 
      "last_updated": "2007-06-24 00:34:17", 
      "links": {
        "changes": {
          "href": "http://reviews.example.com/api/review-requests/2/changes/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/2/", 
          "method": "DELETE"
        }, 
        "diffs": {
          "href": "http://reviews.example.com/api/review-requests/2/diffs/", 
          "method": "GET"
        }, 
        "draft": {
          "href": "http://reviews.example.com/api/review-requests/2/draft/", 
          "method": "GET"
        }, 
        "file_attachments": {
          "href": "http://reviews.example.com/api/review-requests/2/file-attachments/", 
          "method": "GET"
        }, 
        "last_update": {
          "href": "http://reviews.example.com/api/review-requests/2/last-update/", 
          "method": "GET"
        }, 
        "repository": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "GET", 
          "title": "Review Board SVN"
        }, 
        "reviews": {
          "href": "http://reviews.example.com/api/review-requests/2/reviews/", 
          "method": "GET"
        }, 
        "screenshots": {
          "href": "http://reviews.example.com/api/review-requests/2/screenshots/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/2/", 
          "method": "GET"
        }, 
        "submitter": {
          "href": "http://reviews.example.com/api/users/dopey/", 
          "method": "GET", 
          "title": "dopey"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/2/", 
          "method": "PUT"
        }
      }, 
      "public": true, 
      "status": "pending", 
      "summary": "Update for cleaned_data changes", 
      "target_groups": [
        {
          "href": "http://reviews.example.com/api/groups/devgroup/", 
          "method": "GET", 
          "title": "devgroup"
        }
      ], 
      "target_people": [], 
      "testing_done": "Works.", 
      "time_added": "2007-06-24 00:14:32"
    }, 
    {
      "branch": "trunk", 
      "bugs_closed": [
        "1234", 
        "4321", 
        "5678", 
        "8765"
      ], 
      "changenum": null, 
      "description": "Added some user permissions checking for JSON API functions.", 
      "id": 3, 
      "last_updated": "2007-06-24 00:28:33", 
      "links": {
        "changes": {
          "href": "http://reviews.example.com/api/review-requests/3/changes/", 
          "method": "GET"
        }, 
        "delete": {
          "href": "http://reviews.example.com/api/review-requests/3/", 
          "method": "DELETE"
        }, 
        "diffs": {
          "href": "http://reviews.example.com/api/review-requests/3/diffs/", 
          "method": "GET"
        }, 
        "draft": {
          "href": "http://reviews.example.com/api/review-requests/3/draft/", 
          "method": "GET"
        }, 
        "file_attachments": {
          "href": "http://reviews.example.com/api/review-requests/3/file-attachments/", 
          "method": "GET"
        }, 
        "last_update": {
          "href": "http://reviews.example.com/api/review-requests/3/last-update/", 
          "method": "GET"
        }, 
        "repository": {
          "href": "http://reviews.example.com/api/repositories/1/", 
          "method": "GET", 
          "title": "Review Board SVN"
        }, 
        "reviews": {
          "href": "http://reviews.example.com/api/review-requests/3/reviews/", 
          "method": "GET"
        }, 
        "screenshots": {
          "href": "http://reviews.example.com/api/review-requests/3/screenshots/", 
          "method": "GET"
        }, 
        "self": {
          "href": "http://reviews.example.com/api/review-requests/3/", 
          "method": "GET"
        }, 
        "submitter": {
          "href": "http://reviews.example.com/api/users/admin/", 
          "method": "GET", 
          "title": "admin"
        }, 
        "update": {
          "href": "http://reviews.example.com/api/review-requests/3/", 
          "method": "PUT"
        }
      }, 
      "public": true, 
      "status": "pending", 
      "summary": "Add permission checking for JSON API", 
      "target_groups": [
        {
          "href": "http://reviews.example.com/api/groups/privgroup/", 
          "method": "GET", 
          "title": "privgroup"
        }
      ], 
      "target_people": [
        {
          "href": "http://reviews.example.com/api/users/doc/", 
          "method": "GET", 
          "title": "doc"
        }, 
        {
          "href": "http://reviews.example.com/api/users/dopey/", 
          "method": "GET", 
          "title": "dopey"
        }
      ], 
      "testing_done": "Tested some functions.", 
      "time_added": "2007-06-24 00:17:33"
    }
  ], 
  "stat": "ok", 
  "total_results": 5
}

application/vnd.reviewboard.org.review-requests+xml

<?xml version="1.0" encoding="utf-8"?>
<rsp>
 <total_results>5</total_results>
 <stat>ok</stat>
 <review_requests>
  <array>
   <item>
    <status>pending</status>
    <last_updated>2010-08-28 02:26:18</last_updated>
    <description>This is a test designed for interdiffs.</description>
    <links>
     <diffs>
      <href>http://reviews.example.com/api/review-requests/8/diffs/</href>
      <method>GET</method>
     </diffs>
     <repository>
      <href>http://reviews.example.com/api/repositories/1/</href>
      <method>GET</method>
      <title>Review Board SVN</title>
     </repository>
     <screenshots>
      <href>http://reviews.example.com/api/review-requests/8/screenshots/</href>
      <method>GET</method>
     </screenshots>
     <self>
      <href>http://reviews.example.com/api/review-requests/8/</href>
      <method>GET</method>
     </self>
     <update>
      <href>http://reviews.example.com/api/review-requests/8/</href>
      <method>PUT</method>
     </update>
     <last_update>
      <href>http://reviews.example.com/api/review-requests/8/last-update/</href>
      <method>GET</method>
     </last_update>
     <reviews>
      <href>http://reviews.example.com/api/review-requests/8/reviews/</href>
      <method>GET</method>
     </reviews>
     <draft>
      <href>http://reviews.example.com/api/review-requests/8/draft/</href>
      <method>GET</method>
     </draft>
     <file_attachments>
      <href>http://reviews.example.com/api/review-requests/8/file-attachments/</href>
      <method>GET</method>
     </file_attachments>
     <submitter>
      <href>http://reviews.example.com/api/users/admin/</href>
      <method>GET</method>
      <title>admin</title>
     </submitter>
     <changes>
      <href>http://reviews.example.com/api/review-requests/8/changes/</href>
      <method>GET</method>
     </changes>
     <delete>
      <href>http://reviews.example.com/api/review-requests/8/</href>
      <method>DELETE</method>
     </delete>
    </links>
    <public>1</public>
    <target_groups>
     <array>
     </array>
    </target_groups>
    <bugs_closed>
     <array>
     </array>
    </bugs_closed>
    <changenum>
    </changenum>
    <target_people>
     <array>
      <item>
       <href>http://reviews.example.com/api/users/grumpy/</href>
       <method>GET</method>
       <title>grumpy</title>
      </item>
     </array>
    </target_people>
    <testing_done></testing_done>
    <branch>trunk</branch>
    <time_added>2009-02-25 02:01:21</time_added>
    <summary>Interdiff Revision Test</summary>
    <id>8</id>
   </item>
   <item>
    <status>pending</status>
    <last_updated>2007-06-24 01:11:24</last_updated>
    <description>Test description.</description>
    <links>
     <diffs>
      <href>http://reviews.example.com/api/review-requests/4/diffs/</href>
      <method>GET</method>
     </diffs>
     <repository>
      <href>http://reviews.example.com/api/repositories/1/</href>
      <method>GET</method>
      <title>Review Board SVN</title>
     </repository>
     <screenshots>
      <href>http://reviews.example.com/api/review-requests/4/screenshots/</href>
      <method>GET</method>
     </screenshots>
     <self>
      <href>http://reviews.example.com/api/review-requests/4/</href>
      <method>GET</method>
     </self>
     <update>
      <href>http://reviews.example.com/api/review-requests/4/</href>
      <method>PUT</method>
     </update>
     <last_update>
      <href>http://reviews.example.com/api/review-requests/4/last-update/</href>
      <method>GET</method>
     </last_update>
     <reviews>
      <href>http://reviews.example.com/api/review-requests/4/reviews/</href>
      <method>GET</method>
     </reviews>
     <draft>
      <href>http://reviews.example.com/api/review-requests/4/draft/</href>
      <method>GET</method>
     </draft>
     <file_attachments>
      <href>http://reviews.example.com/api/review-requests/4/file-attachments/</href>
      <method>GET</method>
     </file_attachments>
     <submitter>
      <href>http://reviews.example.com/api/users/grumpy/</href>
      <method>GET</method>
      <title>grumpy</title>
     </submitter>
     <changes>
      <href>http://reviews.example.com/api/review-requests/4/changes/</href>
      <method>GET</method>
     </changes>
     <delete>
      <href>http://reviews.example.com/api/review-requests/4/</href>
      <method>DELETE</method>
     </delete>
    </links>
    <public>1</public>
    <target_groups>
     <array>
     </array>
    </target_groups>
    <bugs_closed>
     <array>
      <item>12345</item>
     </array>
    </bugs_closed>
    <changenum>1234</changenum>
    <target_people>
     <array>
      <item>
       <href>http://reviews.example.com/api/users/doc/</href>
       <method>GET</method>
       <title>doc</title>
      </item>
     </array>
    </target_people>
    <testing_done>Tested.</testing_done>
    <branch></branch>
    <time_added>2007-06-24 00:42:42</time_added>
    <summary>Made e-mail improvements</summary>
    <id>4</id>
   </item>
   <item>
    <status>pending</status>
    <last_updated>2007-06-24 01:10:59</last_updated>
    <description>Foo</description>
    <links>
     <diffs>
      <href>http://reviews.example.com/api/review-requests/6/diffs/</href>
      <method>GET</method>
     </diffs>
     <repository>
      <href>http://reviews.example.com/api/repositories/1/</href>
      <method>GET</method>
      <title>Review Board SVN</title>
     </repository>
     <screenshots>
      <href>http://reviews.example.com/api/review-requests/6/screenshots/</href>
      <method>GET</method>
     </screenshots>
     <self>
      <href>http://reviews.example.com/api/review-requests/6/</href>
      <method>GET</method>
     </self>
     <update>
      <href>http://reviews.example.com/api/review-requests/6/</href>
      <method>PUT</method>
     </update>
     <last_update>
      <href>http://reviews.example.com/api/review-requests/6/last-update/</href>
      <method>GET</method>
     </last_update>
     <reviews>
      <href>http://reviews.example.com/api/review-requests/6/reviews/</href>
      <method>GET</method>
     </reviews>
     <draft>
      <href>http://reviews.example.com/api/review-requests/6/draft/</href>
      <method>GET</method>
     </draft>
     <file_attachments>
      <href>http://reviews.example.com/api/review-requests/6/file-attachments/</href>
      <method>GET</method>
     </file_attachments>
     <submitter>
      <href>http://reviews.example.com/api/users/dopey/</href>
      <method>GET</method>
      <title>dopey</title>
     </submitter>
     <changes>
      <href>http://reviews.example.com/api/review-requests/6/changes/</href>
      <method>GET</method>
     </changes>
     <delete>
      <href>http://reviews.example.com/api/review-requests/6/</href>
      <method>DELETE</method>
     </delete>
    </links>
    <public>1</public>
    <target_groups>
     <array>
      <item>
       <href>http://reviews.example.com/api/groups/emptygroup/</href>
       <method>GET</method>
       <title>emptygroup</title>
      </item>
     </array>
    </target_groups>
    <bugs_closed>
     <array>
     </array>
    </bugs_closed>
    <changenum>
    </changenum>
    <target_people>
     <array>
     </array>
    </target_people>
    <testing_done>Bar</testing_done>
    <branch>trunk</branch>
    <time_added>2007-06-24 00:47:14</time_added>
    <summary>Error dialog</summary>
    <id>6</id>
   </item>
   <item>
    <status>pending</status>
    <last_updated>2007-06-24 00:34:17</last_updated>
    <description>Be compatible with cleaned_data changes in Django.</description>
    <links>
     <diffs>
      <href>http://reviews.example.com/api/review-requests/2/diffs/</href>
      <method>GET</method>
     </diffs>
     <repository>
      <href>http://reviews.example.com/api/repositories/1/</href>
      <method>GET</method>
      <title>Review Board SVN</title>
     </repository>
     <screenshots>
      <href>http://reviews.example.com/api/review-requests/2/screenshots/</href>
      <method>GET</method>
     </screenshots>
     <self>
      <href>http://reviews.example.com/api/review-requests/2/</href>
      <method>GET</method>
     </self>
     <update>
      <href>http://reviews.example.com/api/review-requests/2/</href>
      <method>PUT</method>
     </update>
     <last_update>
      <href>http://reviews.example.com/api/review-requests/2/last-update/</href>
      <method>GET</method>
     </last_update>
     <reviews>
      <href>http://reviews.example.com/api/review-requests/2/reviews/</href>
      <method>GET</method>
     </reviews>
     <draft>
      <href>http://reviews.example.com/api/review-requests/2/draft/</href>
      <method>GET</method>
     </draft>
     <file_attachments>
      <href>http://reviews.example.com/api/review-requests/2/file-attachments/</href>
      <method>GET</method>
     </file_attachments>
     <submitter>
      <href>http://reviews.example.com/api/users/dopey/</href>
      <method>GET</method>
      <title>dopey</title>
     </submitter>
     <changes>
      <href>http://reviews.example.com/api/review-requests/2/changes/</href>
      <method>GET</method>
     </changes>
     <delete>
      <href>http://reviews.example.com/api/review-requests/2/</href>
      <method>DELETE</method>
     </delete>
    </links>
    <public>1</public>
    <target_groups>
     <array>
      <item>
       <href>http://reviews.example.com/api/groups/devgroup/</href>
       <method>GET</method>
       <title>devgroup</title>
      </item>
     </array>
    </target_groups>
    <bugs_closed>
     <array>
      <item>123</item>
     </array>
    </bugs_closed>
    <changenum>
    </changenum>
    <target_people>
     <array>
     </array>
    </target_people>
    <testing_done>Works.</testing_done>
    <branch>trunk</branch>
    <time_added>2007-06-24 00:14:32</time_added>
    <summary>Update for cleaned_data changes</summary>
    <id>2</id>
   </item>
   <item>
    <status>pending</status>
    <last_updated>2007-06-24 00:28:33</last_updated>
    <description>Added some user permissions checking for JSON API functions.</description>
    <links>
     <diffs>
      <href>http://reviews.example.com/api/review-requests/3/diffs/</href>
      <method>GET</method>
     </diffs>
     <repository>
      <href>http://reviews.example.com/api/repositories/1/</href>
      <method>GET</method>
      <title>Review Board SVN</title>
     </repository>
     <screenshots>
      <href>http://reviews.example.com/api/review-requests/3/screenshots/</href>
      <method>GET</method>
     </screenshots>
     <self>
      <href>http://reviews.example.com/api/review-requests/3/</href>
      <method>GET</method>
     </self>
     <update>
      <href>http://reviews.example.com/api/review-requests/3/</href>
      <method>PUT</method>
     </update>
     <last_update>
      <href>http://reviews.example.com/api/review-requests/3/last-update/</href>
      <method>GET</method>
     </last_update>
     <reviews>
      <href>http://reviews.example.com/api/review-requests/3/reviews/</href>
      <method>GET</method>
     </reviews>
     <draft>
      <href>http://reviews.example.com/api/review-requests/3/draft/</href>
      <method>GET</method>
     </draft>
     <file_attachments>
      <href>http://reviews.example.com/api/review-requests/3/file-attachments/</href>
      <method>GET</method>
     </file_attachments>
     <submitter>
      <href>http://reviews.example.com/api/users/admin/</href>
      <method>GET</method>
      <title>admin</title>
     </submitter>
     <changes>
      <href>http://reviews.example.com/api/review-requests/3/changes/</href>
      <method>GET</method>
     </changes>
     <delete>
      <href>http://reviews.example.com/api/review-requests/3/</href>
      <method>DELETE</method>
     </delete>
    </links>
    <public>1</public>
    <target_groups>
     <array>
      <item>
       <href>http://reviews.example.com/api/groups/privgroup/</href>
       <method>GET</method>
       <title>privgroup</title>
      </item>
     </array>
    </target_groups>
    <bugs_closed>
     <array>
      <item>1234</item>
      <item>4321</item>
      <item>5678</item>
      <item>8765</item>
     </array>
    </bugs_closed>
    <changenum>
    </changenum>
    <target_people>
     <array>
      <item>
       <href>http://reviews.example.com/api/users/doc/</href>
       <method>GET</method>
       <title>doc</title>
      </item>
      <item>
       <href>http://reviews.example.com/api/users/dopey/</href>
       <method>GET</method>
       <title>dopey</title>
      </item>
     </array>
    </target_people>
    <testing_done>Tested some functions.</testing_done>
    <branch>trunk</branch>
    <time_added>2007-06-24 00:17:33</time_added>
    <summary>Add permission checking for JSON API</summary>
    <id>3</id>
   </item>
  </array>
 </review_requests>
 <links>
  <self>
   <href>http://reviews.example.com/api/review-requests/</href>
   <method>GET</method>
  </self>
  <create>
   <href>http://reviews.example.com/api/review-requests/</href>
   <method>POST</method>
  </create>
 </links>
</rsp>