Jump to >

Root List Resource

Links to all the main resources, including URI templates to resources anywhere in the tree.

This should be used as a starting point for any clients that need to access any resources in the API. By browsing through the resource tree instead of hard-coding paths, your client can remain compatible with any changes in the resource URI scheme.

This also contains information on the server and the capabilities of the API. This information was formerly provided only by the Server Info resource, but has been moved here as a convenience to clients.

Details

Name root
URI /api/
Token Policy ID root
HTTP Methods
  • GET -

    Retrieves the list of top-level resources and templates.

Parent Resource

None.

Child Resources
Anonymous Access

Yes, if anonymous site access is enabled

HTTP GET

Retrieves the list of top-level resources and templates.

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
112 - OAuth2 Missing Scope ErrorHTTP 403 - Forbidden Your OAuth2 token lacks the necessary scopes for this request.
113 - OAuth2 Access Denied ErrorHTTP 403 - Forbidden OAuth2 token access for this resource is prohibited.

Examples

application/vnd.reviewboard.org.root+json

$ curl http://reviews.example.com/api -H "Accept: application/json"
Content-Type: application/vnd.reviewboard.org.root+json
ETag: 66971be7a531141b44e28567fe4a9da31ff34312
X-Content-Type-Options: nosniff
Vary: Accept, Cookie
{
  "capabilities": {
    "diffs": {
      "base_commit_ids": true,
      "moved_files": true,
      "validation": {
        "base_commit_ids": true
      }
    },
    "extra_data": {
      "json_patching": true
    },
    "review_requests": {
      "commit_ids": true,
      "supports_history": true,
      "trivial_publish": true
    },
    "scmtools": {
      "git": {
        "empty_files": true,
        "symlinks": true
      },
      "mercurial": {
        "empty_files": true
      },
      "perforce": {
        "empty_files": true,
        "moved_files": true
      },
      "svn": {
        "empty_files": true
      }
    },
    "text": {
      "can_include_raw_values": true,
      "markdown": true,
      "per_field_text_types": true
    }
  },
  "links": {
    "default_reviewers": {
      "href": "http://reviews.example.com/apidefault-reviewers/",
      "method": "GET"
    },
    "extensions": {
      "href": "http://reviews.example.com/apiextensions/",
      "method": "GET"
    },
    "groups": {
      "href": "http://reviews.example.com/apigroups/",
      "method": "GET"
    },
    "hosting_service_accounts": {
      "href": "http://reviews.example.com/apihosting-service-accounts/",
      "method": "GET"
    },
    "hosting_services": {
      "href": "http://reviews.example.com/apihosting-services/",
      "method": "GET"
    },
    "info": {
      "href": "http://reviews.example.com/apiinfo/",
      "method": "GET"
    },
    "oauth_apps": {
      "href": "http://reviews.example.com/apioauth-apps/",
      "method": "GET"
    },
    "oauth_tokens": {
      "href": "http://reviews.example.com/apioauth-tokens/",
      "method": "GET"
    },
    "repositories": {
      "href": "http://reviews.example.com/apirepositories/",
      "method": "GET"
    },
    "review_requests": {
      "href": "http://reviews.example.com/apireview-requests/",
      "method": "GET"
    },
    "search": {
      "href": "http://reviews.example.com/apisearch/",
      "method": "GET"
    },
    "self": {
      "href": "http://reviews.example.com/api",
      "method": "GET"
    },
    "session": {
      "href": "http://reviews.example.com/apisession/",
      "method": "GET"
    },
    "users": {
      "href": "http://reviews.example.com/apiusers/",
      "method": "GET"
    },
    "validation": {
      "href": "http://reviews.example.com/apivalidation/",
      "method": "GET"
    },
    "webhooks": {
      "href": "http://reviews.example.com/apiwebhooks/",
      "method": "GET"
    }
  },
  "product": {
    "is_release": false,
    "name": "Review Board",
    "package_version": "4.0.7a0",
    "version": "4.0.7 alpha 0 (dev)"
  },
  "site": {
    "administrators": [
      {
        "email": "admin@example.com",
        "name": "Example Admin"
      }
    ],
    "time_zone": "UTC",
    "url": "http://example.com/"
  },
  "stat": "ok",
  "uri_templates": {
    "api_token": "http://reviews.example.com/apiusers/{username}/api-tokens/{api_token_id}/",
    "api_tokens": "http://reviews.example.com/apiusers/{username}/api-tokens/",
    "archived_review_request": "http://reviews.example.com/apiusers/{username}/archived-review-requests/{review_request_id}/",
    "archived_review_requests": "http://reviews.example.com/apiusers/{username}/archived-review-requests/",
    "branches": "http://reviews.example.com/apirepositories/{repository_id}/branches/",
    "change": "http://reviews.example.com/apireview-requests/{review_request_id}/changes/{change_id}/",
    "changes": "http://reviews.example.com/apireview-requests/{review_request_id}/changes/",
    "commit": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/commits/{commit_id}/",
    "commit_validation": "http://reviews.example.com/apivalidation/commits/",
    "commits": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/commits/",
    "default_reviewer": "http://reviews.example.com/apidefault-reviewers/{default_reviewer_id}/",
    "default_reviewers": "http://reviews.example.com/apidefault-reviewers/",
    "diff": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/",
    "diff_comment": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/replies/{reply_id}/diff-comments/{comment_id}/",
    "diff_comments": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/replies/{reply_id}/diff-comments/",
    "diff_context": "http://reviews.example.com/apireview-requests/{review_request_id}/diff-context/",
    "diff_file_attachment": "http://reviews.example.com/apirepositories/{repository_id}/diff-file-attachments/{file_attachment_id}/",
    "diff_file_attachments": "http://reviews.example.com/apirepositories/{repository_id}/diff-file-attachments/",
    "diff_validation": "http://reviews.example.com/apivalidation/diffs/",
    "diffs": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/",
    "draft": "http://reviews.example.com/apireview-requests/{review_request_id}/draft/",
    "extension": "http://reviews.example.com/apiextensions/{extension_name}/",
    "extensions": "http://reviews.example.com/apiextensions/",
    "file": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/files/{filediff_id}/",
    "file_attachment": "http://reviews.example.com/apireview-requests/{review_request_id}/file-attachments/{file_attachment_id}/",
    "file_attachment_comment": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/file-attachment-comments/{comment_id}/",
    "file_attachment_comments": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/file-attachment-comments/",
    "file_attachments": "http://reviews.example.com/apireview-requests/{review_request_id}/file-attachments/",
    "files": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/files/",
    "general_comment": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/general-comments/{comment_id}/",
    "general_comments": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/general-comments/",
    "group": "http://reviews.example.com/apigroups/{group_name}/",
    "groups": "http://reviews.example.com/apigroups/",
    "hosting_service": "http://reviews.example.com/apihosting-services/{hosting_service_id}/",
    "hosting_service_account": "http://reviews.example.com/apihosting-service-accounts/{account_id}/",
    "hosting_service_accounts": "http://reviews.example.com/apihosting-service-accounts/",
    "hosting_services": "http://reviews.example.com/apihosting-services/",
    "info": "http://reviews.example.com/apiinfo/",
    "last_update": "http://reviews.example.com/apireview-requests/{review_request_id}/last-update/",
    "muted_review_request": "http://reviews.example.com/apiusers/{username}/muted-review-requests/{review_request_id}/",
    "muted_review_requests": "http://reviews.example.com/apiusers/{username}/muted-review-requests/",
    "oauth_app": "http://reviews.example.com/apioauth-apps/{app_id}/",
    "oauth_apps": "http://reviews.example.com/apioauth-apps/",
    "oauth_token": "http://reviews.example.com/apioauth-tokens/{oauth_token_id}/",
    "oauth_tokens": "http://reviews.example.com/apioauth-tokens/",
    "original_file": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/files/{filediff_id}/original-file/",
    "patched_file": "http://reviews.example.com/apireview-requests/{review_request_id}/diffs/{diff_revision}/files/{filediff_id}/patched-file/",
    "remote_repositories": "http://reviews.example.com/apihosting-service-accounts/{account_id}/remote-repositories/",
    "remote_repository": "http://reviews.example.com/apihosting-service-accounts/{account_id}/remote-repositories/{repository_id}/",
    "replies": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/replies/",
    "reply": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/replies/{reply_id}/",
    "reply_draft": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/replies/draft/",
    "repositories": "http://reviews.example.com/apirepositories/",
    "repository": "http://reviews.example.com/apirepositories/{repository_id}/",
    "review": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/",
    "review_draft": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/draft/",
    "review_group_user": "http://reviews.example.com/apigroups/{group_name}/users/{username}/",
    "review_group_users": "http://reviews.example.com/apigroups/{group_name}/users/",
    "review_request": "http://reviews.example.com/apireview-requests/{review_request_id}/",
    "review_requests": "http://reviews.example.com/apireview-requests/",
    "reviews": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/",
    "root": "http://reviews.example.com/api",
    "screenshot": "http://reviews.example.com/apireview-requests/{review_request_id}/screenshots/{screenshot_id}/",
    "screenshot_comment": "http://reviews.example.com/apireview-requests/{review_request_id}/reviews/{review_id}/screenshot-comments/{comment_id}/",
    "screenshot_comments": "http://reviews.example.com/apireview-requests/{review_request_id}/screenshots/{screenshot_id}/screenshot-comments/",
    "screenshots": "http://reviews.example.com/apireview-requests/{review_request_id}/screenshots/",
    "search": "http://reviews.example.com/apisearch/{username}/",
    "session": "http://reviews.example.com/apisession/",
    "status_update": "http://reviews.example.com/apireview-requests/{review_request_id}/status-updates/{status_update_id}/",
    "status_updates": "http://reviews.example.com/apireview-requests/{review_request_id}/status-updates/",
    "user": "http://reviews.example.com/apiusers/{username}/",
    "user_file_attachment": "http://reviews.example.com/apiusers/{username}/user-file-attachments/{file_attachment_id}/",
    "user_file_attachments": "http://reviews.example.com/apiusers/{username}/user-file-attachments/",
    "users": "http://reviews.example.com/apiusers/",
    "validation": "http://reviews.example.com/apivalidation/",
    "watched": "http://reviews.example.com/apiusers/{username}/watched/",
    "watched_review_group": "http://reviews.example.com/apiusers/{username}/watched/review-groups/{watched_obj_id}/",
    "watched_review_groups": "http://reviews.example.com/apiusers/{username}/watched/review-groups/",
    "watched_review_request": "http://reviews.example.com/apiusers/{username}/watched/review-requests/{watched_obj_id}/",
    "watched_review_requests": "http://reviews.example.com/apiusers/{username}/watched/review-requests/",
    "webhook": "http://reviews.example.com/apiwebhooks/{webhook_id}/",
    "webhooks": "http://reviews.example.com/apiwebhooks/"
  }
}