Web API Guide¶
Review Board provides a REST API that allows clients to look up information and perform operations on behalf of a user. This can be used by in-house scripts, third-party services, IDE plugins, and other tools to automate Review Board or to make use of its data in whole new ways.
This guide will cover how to use Review Board’s API and provide a full reference to all the API resources available.
Getting Started¶
Before you use the API, you’ll need to know some of the basic terminology and how requests/responses are handled.
- Overview of the API
- What are resources? - How data is represented in the API, and how they connect to each other.
- Making requests - How to form an API request.
- Processing responses - How responses should be handled and parsed by the client.
- Authentication - Logging in to Review Board’s API using passwords or API tokens, and clearing existing login sessions.
- OAuth2 applications - Registering your service as an OAuth2 application, giving users a secure and convenient way of connecting it to their accounts.
- Glossary of terms
API Bindings¶
When possible, we recommend using supported API bindings instead of talking to the API directly. This will help keep your code more manageable and leave bug fixes to someone else.
We provide the following bindings:
Working with Special Data¶
- Rich text fields - Working with textual data (such as from review request fields) and how to convert to Markdown and HTML.
- Extra data - Storing and retrieving custom extra data on resources that support it, for use in your client or extension.
Available Resources¶
There are a couple ways to look at the available list of resources available in Review Board.
Available Errors¶
- All errors
- 100 - Does Not Exist
- 101 - Permission Denied
- 102 - Invalid Attribute
- 103 - Not Logged In
- 104 - Login Failed
- 105 - Invalid Form Data
- 106 - Missing Attribute
- 107 - Enable Extension Failed
- 108 - Disable Extension Failed
- 109 - Extension Already Installed
- 110 - Install Extension Failed
- 111 - Duplicate Item
- 112 - OAuth2 Missing Scope Error
- 113 - OAuth2 Access Denied Error
- 114 - Rate Limit Exceeded
- 203 - Invalid Change Number
- 204 - Change Number In Use
- 205 - Missing Repository
- 206 - Invalid Repository
- 207 - Repository File Not Found
- 208 - Invalid User
- 209 - Repository Action Not Supported
- 210 - Repository Information Error
- 212 - Empty Changeset
- 213 - Server Configuration Error
- 214 - Bad Host Key
- 215 - Unverified Host Key
- 216 - Unverified Host Certificate
- 217 - Missing User Key
- 218 - Repository Authentication Error
- 219 - Diff Empty
- 220 - Diff Too Big
- 221 - File Retrieval Error
- 222 - Hosting Service Authentication Error
- 223 - Group Already Exists
- 224 - Diff Parse Error
- 225 - Publish Error
- 226 - User Query Error
- 227 - Commit ID Already Exists
- 228 - Token Generation Failed
- 230 - Could not close review request
- 231 - Could not reopen review request
- 232 - Ship-It Revocation Error