REST API v2

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.

Category

Endpoint for managing report categories.

APIDescription
GET api/reportserver/v2/categories

Returns a collection of all categories.

GET api/reportserver/v2/categories/reportaccess/{accessPermission}

Returns a collection of all categories for which the current user has the requested access permission. The access permission applies to a report in the category or to the category itself.

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

Returns a category by ID.

POST api/reportserver/v2/categories

Creates a new category.

PUT api/reportserver/v2/categories

Updates a category. Report source references for reports within the category will not be updated automatically if the category name is modified. This may break any existing Drillthrough Actions, SubReports, etc.

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

Deletes a category by ID. The category can be deleted only if it does not contain any reports.

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

Returns a collection of all reports in the specified category.

Configuration

Endpoint for managing report configuration.

APIDescription
GET api/reportserver/v2/configuration/theme

Returns the standalone report designer custom theme colors.

DataAlert

Endpoint for managing data alerts.

APIDescription
GET api/reportserver/v2/dataalerts

Returns a collection of all data alerts.

GET api/reportserver/v2/dataalerts/{dataAlertId}

Returns a data alert by ID.

POST api/reportserver/v2/dataalerts

Creates a new data alert.

PUT api/reportserver/v2/dataalerts

Updates a data alert.

DELETE api/reportserver/v2/dataalerts/{dataAlertId}

Deletes a data alert by ID.

DataConnection

Endpoint for managing data connections.

APIDescription
GET api/reportserver/v2/dataconnections

Returns a collection of all data connections.

GET api/reportserver/v2/dataconnections/{dataConnectionId}

Returns a data connection by ID.

POST api/reportserver/v2/dataconnections

Creates a new data connection.

PUT api/reportserver/v2/dataconnections

Updates a data connection.

DELETE api/reportserver/v2/dataconnections/{dataConnectionId}

Deletes a data connection by ID.

GET api/reportserver/v2/dataconnectionproviders

Returns a collection of all available data connection providers.

DataSchema

Endpoint for managing SQL DS data schema.

APIDescription
POST api/reportserver/v2/data/sql/connection/supported

Gets the connection availability for a specified connection string.

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

Gets if the connection is supported for DB schema retrieval.

POST api/reportserver/v2/data/sql/quotes

Returns the quotes model for a specified connection string.

POST api/reportserver/v2/data/sql/schema

Returns the data schema for a specified connection string.

POST api/reportserver/v2/data/sql/procedures

Returns the procedures for the specified data connection.

POST api/reportserver/v2/data/sql/parametername

Returns the parameter name using the specified data provider.

POST api/reportserver/v2/data/sql/parameters

Returns the required parameters for the specified data connection.

POST api/reportserver/v2/data/sql/preview

Returns the preview data for the specified data connection.

POST api/reportserver/v2/data/sql/model

Returns the fields data model for the specified data connection.

Document

Endpoint for on-demand exporting of a report to any of the supported document formats. For downloading an already generated document produced from Scheduled task or Data alert, use the end points defined in the Execution section (Execution controller).

APIDescription
GET api/reportserver/v2/documents/{documentId}

Retrieves a report document file by its ID. To specify whether the document will be directly opened in the browser or downloaded as a file, you can use a "content-disposition" parameter in the URL query. For example: http://{reportserverhost}/api/reportserver/documents/{id}?content-disposition=attachment. To open the document directly in the browser omit the "content-disposition" parameter. This endpoint can be used to get only report documents created via the POST /documents endpoint.

POST api/reportserver/v2/documents

Generates a new report document on the server.

Execution

Endpoint for managing scheduling executions and created documents.

APIDescription
GET api/reportserver/v2/executions/scheduledtasks/{scheduledTaskId}

Returns a collection of all executions by a scheduled task.

GET api/reportserver/v2/executions/dataalerts/{dataAlertId}

Returns a collection of all executions by a data alert.

GET api/reportserver/v2/executions/scheduledtasks/documents/{documentId}

Returns a scheduled task document by ID.

GET api/reportserver/v2/executions/dataalerts/documents/{documentId}

Returns a data alert document by ID.

POST api/reportserver/v2/executions/scheduledtasks/{scheduledTaskId}

Queues a scheduled task for immediate execution.

POST api/reportserver/v2/executions/dataalerts/{dataAlertId}

Queues a data alert for immediate execution.

DELETE api/reportserver/v2/executions/scheduledtasks/{scheduledTaskId}

Deletes all executions by a scheduled task.

DELETE api/reportserver/v2/executions/dataalerts/{dataAlertId}

Deletes all executions by a data alert.

DELETE api/reportserver/v2/executions/scheduledtasks/{scheduledTaskId}/{executionId}

Deletes a scheduled task execution by ID. Also deletes all created documents by this execution.

DELETE api/reportserver/v2/executions/dataalerts/{dataAlertId}/{executionId}

Deletes a data alert execution by ID. Also deletes all created documents by this execution.

Misc

Endpoint for managing miscellaneous resources.

APIDescription
POST api/reportserver/v2/logout

Logs out the currently logged user.

ObjectDataSource

Endpoint for managing object data source.

APIDescription
GET api/reportserver/v2/data/ods/types

Returns a list of all available types.

POST api/reportserver/v2/data/ods/members

Returns a list of all data members for the specified type.

POST api/reportserver/v2/data/ods/model

Returns the data fields schema for the specified object data source.

POST api/reportserver/v2/data/ods/measures

Returns the data fields schema for the specified type. Used for nested measures.

Report

Endpoint for managing reports.

APIDescription
GET api/reportserver/v2/reports

Returns a collection of all reports.

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

Returns a report by ID.

POST api/reportserver/v2/reports

Creates a new report.

PUT api/reportserver/v2/reports

Updates a report.

DELETE api/reportserver/v2/reports/{reportId}/{revisionId}

Deletes a report or a specified report revision. Deleting a report will also modify or delete scheduled tasks and data alerts associated with this report.

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

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

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

Returns a report revision by ID.

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

Returns the latest report revision.

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

Adds a report revision to the specified report.

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

Deletes a report revision by ID.

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

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

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

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

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

Deletes the shelve of the specified report.

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

Sets favorite flag for the specified report.

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

Removes the favorite flag from the specified report.

PUT api/reportserver/v2/reports/{reportId}/lock

Locks the specified report.

DELETE api/reportserver/v2/reports/{reportId}/unlock

Unlocks the specified report.

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

Publishes the specified report.

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

Gets the report parameters for the specified report.

ScheduledTask

Endpoint for managing scheduled tasks.

APIDescription
GET api/reportserver/v2/scheduledtasks

Returns a collection of all scheduled tasks.

GET api/reportserver/v2/scheduledtasks/{scheduledTaskId}

Returns a scheduled task by ID.

POST api/reportserver/v2/scheduledtasks

Creates a new scheduled task.

PUT api/reportserver/v2/scheduledtasks

Updates a scheduled task.

DELETE api/reportserver/v2/scheduledtasks/{scheduledTaskId}

Deletes a scheduled task by ID.

User

Endpoint for managing users, user roles and permissions.

APIDescription
GET api/reportserver/v2/users

Returns a collection of all users.

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

Returns a user by ID.

POST api/reportserver/v2/users/local

Creates a new local user.

POST api/reportserver/v2/users/federation

Creates a new federation user.

PUT api/reportserver/v2/users/local

Updates a local user.

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

Deletes a user by ID.

DELETE api/reportserver/v2/users/local/{userId}

Deletes a user by ID.

PUT api/reportserver/v2/users/local/{userId}/password

Changes the password for the specified local user.

GET api/reportserver/v2/users/{userId}/userroles

Returns the user roles of the specified user.

GET api/reportserver/v2/userroles

Returns a collection of all user roles.

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

Updates the user roles of the specified user.

PUT api/reportserver/v2/users/{userId}/userroles

Updates the user roles of the specified user.

GET api/reportserver/v2/users/{username}/isadmin

Returns whether the user has administrator rights.

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

Returns the permissions of the specified permission category which are assigned to the specified user/user role.

GET api/reportserver/v2/userroles/{id}/permissions/{permissionCategory}

Returns the permissions of the specified permission category which are assigned to the specified user/user role.

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

Returns a permission from a specified category by ID.

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

Creates a new permission for the specified user/user role.

POST api/reportserver/v2/userroles/{id}/permissions

Creates a new permission for the specified user/user role.

DELETE api/reportserver/v2/permissions/{permissionCategory}/{permissionId}

Deletes a permission.

GET api/reportserver/v2/userroles/{userRoleId}/users

Returns the users assigned to the specified user role.

POST api/reportserver/v2/userroles/{userRoleId}/users

Adds a user to a user role.

PUT api/reportserver/v2/userroles/{userRoleId}/users

Updates the user role's list of assigned users.

DELETE api/reportserver/v2/userroles/{userRoleId}/users/{userId}

Removes a user from a user role.

GET api/reportserver/v2/userroles/{userRoleId}

Returns a user role by ID.

POST api/reportserver/v2/userroles

Creates a new user role.

PUT api/reportserver/v2/userroles

Updates a user role by ID.

DELETE api/reportserver/v2/userroles/{userRoleId}

Deletes a user role by ID.

In this article
Not finding the help you need?