Confluence Questions REST ResourcesPUBLIC SINCE 2.3

by Atlassian for Confluence Server 5.3+

REST Resources

This is the reference document for the Confluence Questions Representational State Transfer (REST) API. The REST API is for developers who want to:

  • Integrate Confluence Questions with other applications;
  • Create scripts that interact with Confluence Questions; or
  • Develop Confluence plugins that enhance the Confluence Questions UI, using REST to interact with the backend.

You can read more about developing Confluence Server plugins in the Confluence Developer Documentation. Confluence Cloud no longer has a REST-API for Questions.

Getting started

Because the REST API is based on open standards, you can use any web development language or command line tool capable of generating an HTTP request to access the API. See the Confluence REST API Examples for a basic usage.

If you're already working with the Atlassian SDK, the REST API Browser is a great tool for exploring and experimenting with the Stash REST API.

Structure of the REST URIs

Confluence Questions's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. The Stash REST API uses JSON as its communication format, and the standard HTTP methods like GET, PUT, POST and DELETE. URIs for Confluence Questions's REST API resource have the following structure:

http://host:port/context/rest/questions/api-version/path/to/resource

For example, the following URI would retrieve the first 10 questions on https://extranet.atlassian.com.

https://extranet.atlassian.com/rest/questions/1.0/question?limit=10

See the API descriptions below for a full list of available resources.

There is also a WADL document describing the REST API.

Authentication

Any authentication that works against Confluence will work.

Errors & Validation

If a request fails due to client error, the resource will return an HTTP response code in the 40x range. These can be broadly categorised into:

HTTP Code Description
400 (Bad Request) One or more of the required parameters or attributes:
  • were missing from the request;
  • incorrectly formatted; or
  • inappropriate in the given context.
401 (Unauthorized) Either:
  • Authentication is required but was not attempted.
  • Authentication was attempted but failed.
  • Authentication was successful but the authenticated user does not have the requisite permission for the resource.
See the individual resource documentation for details of required permissions.
403 (Forbidden) Actions are usually "forbidden" if they involve breaching the licensed user limit of the server, or degrading the authenticated user's permission level. See the individual resource documentation for more details.
404 (Not Found) The entity you are attempting to access, or the project or repository containing it, does not exist.

The REST resources expose a data model that is supported by a set of client-side libraries that are made available on the files and libraries page.