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.


Endpoint for managing report categories.

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.


Endpoint for managing report configuration.

GET api/reportserver/v2/configuration/theme

Returns the standalone report designer custom theme colors.


Endpoint for managing data alerts.

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.


Endpoint for managing data connections.

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.


Endpoint for managing SQL DS data schema.

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.


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).

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.


Endpoint for managing scheduling executions and created documents.

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.


Endpoint for managing miscellaneous resources.

POST api/reportserver/v2/logout

Logs out the currently logged user.


Endpoint for managing object data source.

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.


Endpoint for managing reports.

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.


Endpoint for managing scheduled tasks.

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.


Endpoint for managing users, user roles and permissions.

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?