New to Telerik Report ServerStart a free 30-day trial

REST API v3

Introduction

Telerik Report Server Web API allows you to manage all report server resources like reports, categories, data connections, scheduled tasks, data alerts, users, user roles and settings through a simple web interface.

The API description is also available from the Report Server's management application at the following address: http://[reportserver]/help/index.

Categories

APIDescription
GET api/reportserver/v3/categories

Returns a collection of all categories.

POST api/reportserver/v3/categories

Creates a new category.

DELETE api/reportserver/v3/categories/{categoryId}

Deletes the category with the specified ID.

GET api/reportserver/v3/categories/{categoryId}

Returns a category by ID.

PUT api/reportserver/v3/categories/{categoryId}

Updates the category with the specified ID.

GET api/reportserver/v3/categories/{categoryId}/reports

Returns a collection of all reports in the specified category.

Configuration

APIDescription
GET api/reportserver/v3/configuration/theme

Returns the current theme configuration and colors.

DataAlert

APIDescription
GET api/reportserver/v3/data-alerts

Returns a collection of all data alerts.

POST api/reportserver/v3/data-alerts

Creates a new data alert.

DELETE api/reportserver/v3/data-alerts/{dataAlertId}

Deletes the data alert with the specified ID.

GET api/reportserver/v3/data-alerts/{dataAlertId}

Returns the data alert with the specified ID.

PUT api/reportserver/v3/data-alerts/{dataAlertId}

Updates the data alert with the specified ID.

POST api/reportserver/v3/data-alerts/{dataAlertId}/execute

Executes the data alert with the specified ID.

DELETE api/reportserver/v3/data-alerts/{dataAlertId}/executions

Deletes all executions for the data alert with the specified ID.

GET api/reportserver/v3/data-alerts/{dataAlertId}/executions

Returns the execution history for the data alert with the specified ID.

DELETE api/reportserver/v3/data-alerts/{dataAlertId}/executions/{executionId}

Deletes the specified execution for the data alert with the specified ID.

GET api/reportserver/v3/data-alerts/{dataAlertId}/executions/{executionId}/documents

Returns the documents generated by the specified execution of the data alert.

GET api/reportserver/v3/data-alerts/{dataAlertId}/executions/{executionId}/documents/{documentId}

Returns the specified document generated by an execution of the data alert.

DataConnection

APIDescription
GET api/reportserver/v3/data-connections

Returns a collection of all data connections.

POST api/reportserver/v3/data-connections

Creates a new data connection.

GET api/reportserver/v3/data-connections/providers

Returns a collection of all available data connection providers.

DELETE api/reportserver/v3/data-connections/{dataConnectionId}

Deletes the data connection with the specified ID.

GET api/reportserver/v3/data-connections/{dataConnectionId}

Returns the data connection with the specified ID.

PUT api/reportserver/v3/data-connections/{dataConnectionId}

Updates the data connection with the specified ID.

DataSchema

APIDescription
POST api/reportserver/v3/data/sql/generate

Generates an SQL query from the specified query designer state.

POST api/reportserver/v3/data/sql/model

Returns the fields data model for the specified data connection.

POST api/reportserver/v3/data/sql/parameter-name

Returns the parameter name using the specified data provider.

POST api/reportserver/v3/data/sql/parameters

Returns the required parameters for the specified data connection.

POST api/reportserver/v3/data/sql/preview

Returns the preview data for the specified data connection.

POST api/reportserver/v3/data/sql/procedures

Returns the procedures for the specified data connection.

POST api/reportserver/v3/data/sql/quotes

Returns the quotes model for a specified connection string.

POST api/reportserver/v3/data/sql/schema

Returns the data schema for a specified connection string.

POST api/reportserver/v3/data/sql/schema/supported

Gets if the connection is supported for DB schema retrieval.

POST api/reportserver/v3/data/sql/test-connection

Tests the specified SQL data connection.

Document

APIDescription
POST api/reportserver/v3/documents

Creates a new document and starts generating it.

GET api/reportserver/v3/documents/{documentId}

Returns the document with the specified ID when it is ready.

GET api/reportserver/v3/documents/{documentId}/status

Returns the processing status of the document with the specified ID.

ObjectDataSource

APIDescription
POST api/reportserver/v3/data/object-data-source/measures

Returns the measures for the specified object data source type.

POST api/reportserver/v3/data/object-data-source/members

Returns the members of the specified object data source type.

POST api/reportserver/v3/data/object-data-source/model

Returns the data model for the specified object data source.

GET api/reportserver/v3/data/object-data-source/types

Returns a collection of the available object data source types.

Report

APIDescription
GET api/reportserver/v3/reports

Returns a collection of all reports.

POST api/reportserver/v3/reports

Creates a new report.

GET api/reportserver/v3/reports/rendering-extensions

Returns a collection of all available report rendering extensions.

DELETE api/reportserver/v3/reports/{reportId}

Deletes the report with the specified ID.

GET api/reportserver/v3/reports/{reportId}

Returns a report by ID.

PUT api/reportserver/v3/reports/{reportId}

Updates the report with the specified ID.

GET api/reportserver/v3/reports/{reportId}/data-items

Returns the data items for the report with the specified ID.

DELETE api/reportserver/v3/reports/{reportId}/favorite

Removes the favorite flag from the specified report.

PUT api/reportserver/v3/reports/{reportId}/favorite

Sets favorite flag for the specified report.

DELETE api/reportserver/v3/reports/{reportId}/lock

Removes the lock from the report with the specified ID.

POST api/reportserver/v3/reports/{reportId}/lock

Locks the report with the specified ID.

GET api/reportserver/v3/reports/{reportId}/parameters

Gets the report parameters for the specified report.

POST api/reportserver/v3/reports/{reportId}/publish

Publishes the specified report.

GET api/reportserver/v3/reports/{reportId}/revisions

Returns a collection of all report revisions for the specified report.

POST api/reportserver/v3/reports/{reportId}/revisions

Adds a report revision to the specified report.

GET api/reportserver/v3/reports/{reportId}/revisions/latest

Returns the latest report revision.

DELETE api/reportserver/v3/reports/{reportId}/revisions/{revisionId}

Deletes a report revision by ID.

GET api/reportserver/v3/reports/{reportId}/revisions/{revisionId}

Returns a report revision by ID.

DELETE api/reportserver/v3/reports/{reportId}/shelve

Deletes the shelve of the specified report.

GET api/reportserver/v3/reports/{reportId}/shelve

Gets the shelve data for the specified report. The shelve data is the unpublished state of the report.

PUT api/reportserver/v3/reports/{reportId}/shelve

Creates a shelve for the specified report. Expects the report shelve bytes inside the content of the request.

ScheduledTask

APIDescription
GET api/reportserver/v3/scheduled-tasks

Returns a collection of all scheduled tasks.

POST api/reportserver/v3/scheduled-tasks

Creates a new scheduled task.

DELETE api/reportserver/v3/scheduled-tasks/{scheduledTaskId}

Deletes the scheduled task with the specified ID.

GET api/reportserver/v3/scheduled-tasks/{scheduledTaskId}

Returns the scheduled task with the specified ID.

PUT api/reportserver/v3/scheduled-tasks/{scheduledTaskId}

Updates the scheduled task with the specified ID.

POST api/reportserver/v3/scheduled-tasks/{scheduledTaskId}/execute

Executes the scheduled task with the specified ID.

DELETE api/reportserver/v3/scheduled-tasks/{scheduledTaskId}/executions

Deletes all executions for the scheduled task with the specified ID.

GET api/reportserver/v3/scheduled-tasks/{scheduledTaskId}/executions

Returns the execution history for the scheduled task with the specified ID.

DELETE api/reportserver/v3/scheduled-tasks/{scheduledTaskId}/executions/{executionId}

Deletes the specified execution for the scheduled task with the specified ID.

GET api/reportserver/v3/scheduled-tasks/{scheduledTaskId}/executions/{executionId}/documents

Returns the documents generated by the specified execution of the scheduled task.

GET api/reportserver/v3/scheduled-tasks/{scheduledTaskId}/executions/{executionId}/documents/{documentId}

Returns the specified document generated by an execution of the scheduled task.

Users

APIDescription
DELETE api/reportserver/v3/permissions/{permissionCategory}/{permissionId}

Deletes the permission with the specified category and ID.

GET api/reportserver/v3/permissions/{permissionCategory}/{permissionId}

Returns the permission with the specified category and ID.

GET api/reportserver/v3/roles

Returns a collection of all roles.

POST api/reportserver/v3/roles

Creates a new role.

POST api/reportserver/v3/roles/{id}/permissions

Creates a new permission for the role with the specified ID.

GET api/reportserver/v3/roles/{id}/permissions/{permissionCategory}

Returns the permissions in the specified category for the role with the specified ID.

DELETE api/reportserver/v3/roles/{userRoleId}

Deletes the role with the specified ID.

GET api/reportserver/v3/roles/{userRoleId}

Returns the role with the specified ID.

PUT api/reportserver/v3/roles/{userRoleId}

Updates the role with the specified ID.

GET api/reportserver/v3/roles/{userRoleId}/users

Returns the users assigned to the role with the specified ID.

POST api/reportserver/v3/roles/{userRoleId}/users

Assigns the specified user to the role with the specified ID.

PUT api/reportserver/v3/roles/{userRoleId}/users

Updates the users assigned to the role with the specified ID.

DELETE api/reportserver/v3/roles/{userRoleId}/users/{userId}

Removes the specified user from the role with the specified ID.

GET api/reportserver/v3/users

Returns a collection of all users.

POST api/reportserver/v3/users

Creates a new user.

POST api/reportserver/v3/users/{id}/permissions

Creates a new permission for the user with the specified ID.

GET api/reportserver/v3/users/{id}/permissions/{permissionCategory}

Returns the permissions in the specified category for the user with the specified ID.

DELETE api/reportserver/v3/users/{userId}

Deletes the user with the specified ID.

GET api/reportserver/v3/users/{userId}

Returns a user by ID.

PUT api/reportserver/v3/users/{userId}

Updates the user with the specified ID.

PUT api/reportserver/v3/users/{userId}/password

Changes the password of the user with the specified ID.

GET api/reportserver/v3/users/{userId}/roles

Returns the roles assigned to the user with the specified ID.

PUT api/reportserver/v3/users/{userId}/roles

Updates the roles assigned to the user with the specified ID.

GET api/reportserver/v3/users/{username}/admin-status

Returns whether the specified user is a system administrator.