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.