ReportingCloud

Web API

Topic

The ReportingCloud Web API is a set of HTTPS endpoints that create documents from templates and data, manage the template storage and the account, list the available fonts, check spelling and process tracked changes. Each method has a page with its URL, the authorization it requires, its request parameters, the objects of its request payload, its success and error responses and examples of a call.

The base URL of the Web API is https://api.reporting.cloud/, and every endpoint is below /v1/: the method pages give the full URL, such as https://api.reporting.cloud/v1/document/merge. The API accepts HTTPS requests only.

Authentication and Quotas

Every request carries an Authorization header with one of two credentials: an API key, written ReportingCloud-APIKey followed by a space and the key, or the user name and password of your account, written Basic followed by a space and the Base64 encoding of username:password. Authentication shows both with curl and the SDKs.

Methods that create documents or thumbnails, check spelling or store templates count against a quota of your plan: the document quota, the spell checking quota or the template storage quota. The Description section of each method page says whether and how the method counts, and Plans and Licensing lists the quotas of each plan. Merge, append, convert and find and replace also take a test parameter: a test run is not counted and creates a document with a "TEST MODE" watermark, but Free accounts cannot use it. A trial account can, and there only the test runs of convert and append are not counted: a test run of merge or find and replace counts against the document quota.

The methods that create documents or thumbnails limit the processing time of a request to 60 seconds. When a quota is used up or the credentials are not valid, the endpoint answers 403, and when the request cannot be processed, 400. A request without an Authorization header, or with an empty or malformed one, gets 500, a URL that matches no endpoint or leaves out a required query parameter 404, and another HTTP method than the documented one 405. A POST that has neither a body nor a Content-Length header gets 411, and one whose body has no Content-Type header, or one such as text/plain, gets 415. Too many requests at the same time from one IP address can get a 403 from the web server, with an HTML page instead of the plain-text message. Errors and Status Codes explains them.

All Methods

MethodEndpointDescription
POST/v1/document/appendCombines documents by appending them divided by a new section, paragraph or nothing.
POST/v1/document/convertConverts a document to another supported format.
POST/v1/document/findandreplaceExecutes a find and replace on a template to create a document.
POST/v1/document/mergeMerges and returns a compatible template from the template storage or an uploaded template with hierarchical JSON data.
GET/v1/document/shareReturns an encrypted document name that can be used in the viewer widget.
POST/v1/document/thumbnailsCreates and returns thumbnail images of documents.
GET/v1/templates/countReturns the number of templates in the template storage.
DELETE/v1/templates/deleteDeletes a template from the ReportingCloud template storage.
GET/v1/templates/downloadReturns the selected template from the storage.
GET/v1/templates/existsChecks whether a template exists in the template storage.
GET/v1/templates/infoReturns information about the template including hierarchical structure of merge fields and merge blocks.
GET/v1/templates/listLists all templates from the ReportingCloud template storage.
GET/v1/templates/pagecountReturns the number of pages of a template in the template storage.
GET/v1/templates/thumbnailsCreates and returns thumbnail images of template pages.
POST/v1/templates/uploadStores an uploaded template in the ReportingCloud template storage. Supported template formats are Microsoft Word (.doc), WordProcessingML (.docx), Rich Text Format (.rtf) and TX Text Control Format (.tx).
DELETE/v1/account/apikeyDeletes a ReportingCloud API key from the list of existing API keys.
PUT/v1/account/apikeyCreates and stores a new ReportingCloud API key to the list of API keys.
GET/v1/account/apikeysLists all available ReportingCloud API keys from the existing keys.
GET/v1/account/settingsReturns detailed information about the account quota and general settings.
GET/v1/fonts/listReturns a list of available fonts that can be used in templates, the fonts of Windows and many, but not all, Google Fonts.
GET/v1/proofing/availabledictionariesReturns all available dictionaries for supported proofing languages.
GET/v1/proofing/checkChecks text for spelling errors.
GET/v1/proofing/suggestionsReturns suggestions for a misspelled word.
POST/v1/processing/review/removetrackedchangeRemoves a specific tracked change and returns the resulting document.
POST/v1/processing/review/trackedchangesReturns the tracked changes of a document.

The service also answers at the URLs of the groups, because of the way it routes requests: GET /v1/fonts returns what GET /v1/fonts/list does, POST /v1/templates and DELETE /v1/templates upload and delete as /v1/templates/upload and /v1/templates/delete do, and GET /v1/templates and GET /v1/account answer 500. No SDK uses these urls; call the documented URLs of the method pages.

Pages in This Section

  • Document: merge, append, convert, find and replace, thumbnails and sharing, below /v1/document.
  • Templates: the template storage, below /v1/templates.
  • Account: API keys and account settings, below /v1/account.
  • Fonts: the fonts templates can use, /v1/fonts/list.
  • Proofing: spell checking, below /v1/proofing.
  • Processing: tracked changes, below /v1/processing.