The PBRS API is used for collaboration and other system functions. PBRS API allows you to run schedules as well as control the scheduling services. Here is how to install and configure it if needed.
Options - PBRS API
PBRS’s API allows you to run schedules as well as control the scheduling services. You can use any programming language of your choice to query the API.
The PBRS API is a RESTful API based on HTTP requests and JSON responses. The easiest way to start using the PBRS API is by using Postman, a free tool which helps developers run and debug API requests, and is the source of truth for this documentation.
How to Install the PBRS API?
- Go to Options.
- Go to REST API.
API Settings
- The API Settings section is used for collaboration and other system functions.
- Click Install API.
- Enter your windows credentials to install API.
- Click OK.
- Click Yes.
- Click OK.
- PBRS API is installed.
- Click Start to start the PBRS API Service.
- The PBRS API is configured and PBRS API Service is running.
API Clients
- API Clients section is used to give another application access to the PBRS API.
- Click Add.
- You only need to provide the Client name as the Client ID and Secret are automatically generated by PBRS.
- Once the Client name is added, click Save & Close.
How do I use the PBRS API?
Getting Started
PBRS’s API allows you to run schedules as well as control the scheduling services. You can use any programming language of your choice to query the API.
The PBRS API is a RESTful API based on HTTP requests and JSON responses. The easiest way to start using the PBRS API is by using Postman, a free tool which helps developers run and debug API requests, and is the source of truth for this documentation.
Unless otherwise specified, all requests must be made with the Content-Type set to application/x-www-form-urlencoded in the request header.
You can also create multiple SSRS single schedules using the API so that a JSON file can be picked with their definitions.
Authentication and Authorization
The PBRS API can use OAuth2 Client Credentials or Username and Password authentication and authorization flow. All API endpoints except the /api/service/ping require a valid access token for authorization.
Get Token
Username and Password Flow
To request an access token using the credentials of a PBRS user, make a POST request as follows:
http://[pbrsserver]:9000/api/login/token
POST http://[pbrsserver]:9000/api/login/token
POST Body
string username
string password
Example Result
{
"UserId": "jd",
"FirstName": "John",
"LastName": "Doe",
"role": "Administrator",
"ExpiryDateEpoch": 1617803400,
"token": "VEw+8f/9N1D8ZiJOmOses38Wad0RD/NU9jUDIVVK8CeUcmIjErSZDn965NVmSlEZJd3gfRbkUajd5dCNm87c295S1TO4RKbeJUho6t6XEJUdiJSs1T4WY2xEaR75RqufM3Xi3u55Pp3AsQX0jmN0wcOe/26k1y3feM8hZmnjffbDYZT7azIpiebLBPaXhY6dAA==",
"token_type": "custom"
}
Client Credentials Flow
In order to use obtain an access token, you must first add the Client application to PBRS. This is done under the Configuration/PBRS API screen.
You only need to provide the Client name as the Client ID and Secret are automatically generated by PBRS.
To request an access token, make a POST request as follows:
http://[pbrsserver]:9000/oauth2/token
POST http://[pbrsserver]:9000/oauth2/token
POST Body
string grant_type: client_credentials
string client_id
string client_secret
Result
{
string access_token
string token_type: bearer
int expires_in
}
Below is an example of what a successful authentication result looks like:
{
"access_token": "AQAAANCMnd8BFdERjHoAwE_...",
"token_type": "bearer",
"expires_in": 86399
}
PBRS API tokens expire in 24 hours.
Once the access token has been obtained, it must be included as part of your API request headers.
For the username and password flow, the request header must include:
Authorization: token {access_token}
For client credentials flow include:
Authorization: bearer {access_token}
EndPoints
The API is accessed by making HTTP requests to a specific URL endpoint, in which GET or POST variables contain information about what you wish to access. Every endpoint is accessed via the port and protocol configured in PBRS. The PBRS API Service must also be running on the PBRS server.
The default starting endpoint for the API is:
http://[pbrsserver]:9000/api
Service EndPoint
The Service Endpoint allows you to query and control the PBRS services.
Ping
To check if the API is up and running, you can use Ping. The call will return 1 when the API is running.
GET /api/service/ping
Result:
int i
IsSchedulerRunning
To check if the PBRS scheduler is running:
GET /api/service/isschedulerrunning
Result:
{
bool Result
}
StartScheduler
Result:
GET /api/service/startscheduler
Result:
Ok 200
StopScheduler
Result:
GET /api/service/stopscheduler
Result:
Ok 200
GetConfigPath
To get the path to the PBRS config file:
GET /api/service/getconfigpath
Result:
{
string Result
}
UpdateCollaborationSettings
To update the collaboration settings for a server:
POST /api/service/updatecollaborationsettings
POST Body
bool IsCollaborationEnabled
int CollaborationId
string CollaborationLeader
string ConType
string ConString
string ConString2
Schedule Endpoint
The Schedule endpoint allows you to control PBRS schedules. Where a schedule type must be specified, the following are valid:
-
"report" or “single”: all Single and Data-Driven Schedules
-
"automation": all Automation schedules
-
"package": all Single and Data-Driven Package schedules
-
"event": all Event-Based schedules
-
“event-package" or “eventpackage”: all Event-Based Package schedules
The schedule’s unique Id can be obtained from the schedule’s properties screen in the application GUI.
ExecuteSchedule
Synchronously kicks off a schedule and waits for its completion.
POST api/schedule/executeschedule
POST Body
string ScheduleType
int UniqueId
string RunBy
Result
{
bool Result
string ErrorMessage
int ErrorNumber
}
ExecuteScheduleOnTimeAsync
Asynchronously kicks off the schedule as if it is being run by the scheduler. At completion, the schedule’s NextRun date will be incremented.
POST api/schedule/executescheduleontimeasync
POST Body
string ScheduleType
int UniqueId
string RunBy
Result
{
string ExecutionId
}
ExecuteScheduleAsync
Asynchronously kicks off a schedule and does not wait for its completion. The resulting ExecutionId can be used to query the execution status
POST api/schedule/executescheduleasync
POST Body
string ScheduleType
int UniqueId
string RunBy
Result
{
string ExecutionId
}
GetNumberOfFreeThreads
Gets the number of threads that are available for schedule execution based on the configured maximum thread count set in the application.
GET api/schedule/getnumberoffreethreads
Result
{
int Result
}
CancelExecution
Attempts to cancel an existing async execution:
GET api/schedule/cancelexecution?ExecutionId={ExecutionId}
Result
{
string Result
}
GetExecutionStatus
Retrieves the status of a schedule execution. The status can be one of:
-
Waiting
-
Executing
-
Completed
GET api/schedule/GetExecutionStatus?ExecutionId={ExecutionId}
Result
{
string ExecutionId
int UniqueId
int ProcessId
string Status
long EntryDateEpoch
long CompletionDateEpoch
string RunBy
string ResultJson*
string ServerName
}
*ResultJson Format
{
bool success
string errormessage
}
GetExecutionQueue
Returns an array of schedules that have been executed in the past 12 hours as well those waiting to be executed and currently executing.
GET api/schedule/GetExecutionQueue
Result
[
{
string ExecutionId
int UniqueId
int ProcessId
string Status
int EntryDateEpoch
int CompletionDateEpoch
string RunBy
string ResultJson
string ServerName
string ScheduleType
string ScheduleName
}
]
Folder Endpoint
The Folder endpoint allows you to traverse the entire PBRS folder hierarchy including schedules.
Get Folder
Retrieves the details about a Folder based on the provided ID. To get the topmost folder, provide folder ID.
GET api/folder/get/{id}
Result
{
int FolderId
string folderName
int FolderParent
}
GetSubFolders
Retrieves an array of folders for the given folder ID.
GET api/folder/getsubfolders/{id}
Result
[
{
int FolderId
string folderName
int FolderParent
}
]
GetSchedules
Retrieves an array of schedules for the given folder ID.
GET api/folder/getschedules/{id}
Result
[
{
int UniqueId
string Name
string ScheduleType
bool IsDataDriven
bool IsEnabled
}
]
GetUniqueIdFromPath
Returns the unique identifier of any schedule in a given folder path.
POST api/folder/getuniqueidfrompath
POST Body
string Path
string ScheduleName
string ScheduleType
Result
{
int UniqueId
}
GetFolderFromPath
Returns the folder object from the given path.
POST api/folder/getfolderfrompath
POST Body
string Path
Result
{
int FolderId
string folderName
int FolderParent
}
PowerBIAccount Endpoint
The PowerBIAccount endpoint allows you to interrogate the Power BI accounts in PBRS.
GetAll
Returns a collection of all the Power BI accounts in PBRS.
GET api/powerbiaccount/getall
Example Result
[
{
"AccountName": "Sales",
"AccountId": "16f471xb-87fb-4f74-8fea-0a5df5a8156b"
},
{
"AccountName": "Accounts",
"AccountId": "0247ef0a-1a50-427b-ac06-cfd711c54d16"
}
]
GetWorkspaces/{Id}
Returns a collection of all the workspaces in the specified Power BI account.
GET api/powerbiaccount/getworkspaces/{id}
Example Result
[
{
"Name": "My Workspace",
"Id": ""
},
{
"Name": "Tests",
"Id": "24a89913-81fe-4815-a822-8d49cxxxfec1"
},
{
"Name": "Dev",
"Id": "8b16abae-f65a-445d-b17d-2fbxxx4e59c7"
},
{
"Name": "Prod",
"Id": "23cb7428-af4d-4223-a445-7aa44cxxx45f"
},
{
"Name": "Paginated Reports",
"Id": "e4aa4920-d626-4ca3-9077-fb5250xxxf36"
},
{
"Name": "V2Workspace",
"Id": "1e83d0c8-1c2b-4b59-8093-7911xxx6b7e8"
}
]
GetReports
Returns a collection of Power BI reports in a given workspace.
GET api/powerbiaccount/getreports
GET Body
Field |
Type |
Desc |
---|---|---|
AccountID |
string |
The Power BI account ID |
WorkspaceID |
string |
The Power BI Workspace ID |
Example Result
[
{
"Name": "Customer Profitability Sample",
"Url": "https://app.powerbi.com/reportEmbed?reportId=....&config=..."
},
{
"Name": "Queen City Dashboard",
"Url": "https://app.powerbi.com/reportEmbed?reportId=...&config=..."
}
]
GetDashboards
Returns a collection of Power BI dashboards in a given workspace.
GET api/powerbiaccount/getdashboards
GET Body
Field |
Type |
Description |
---|---|---|
AccountID |
string |
The Power BI account ID |
WorkspaceID |
string |
The Power BI Workspace ID |
Example Result
[
{
"Name": "Customer Map",
"Url": "https://app.powerbi.com/dashboardEmbed?dashboardId=...&config=..."
},
{
"Name": "Customer Profitability Sample",
"Url": "https://app.powerbi.com/dashboardEmbed?dashboardId=...&config=..."
}
]
GetVisualsForReport
Returns a collection of all the visuals in a given report and their respective Power BI page index.
GET api/powerbiaccount/getvisualsforreport
POST Body
Field |
Type |
Description |
---|---|---|
AccountID |
string |
The Power BI Account ID where the report is located. |
ReportUrl |
string |
The Embed URL of the Power BI report. |
GetPaginatedReports
Returns a collection of Paginated Reports in a given workspace.
GET /api/service/stopscheduler
GET Body
Field |
Type |
Desc |
---|---|---|
AccountID |
string |
The Power BI account ID |
WorkspaceID |
string |
The Power BI Workspace ID |
Example Result
[
{
"Name": "Customer Profitability Sample",
"Url": "https://app.powerbi.com/rdlEmbed?reportId=....&config=..."
},
{
"Name": "Queen City Dashboard",
"Url": "https://app.powerbi.com/redlEmbed?reportId=...&config=..."
}
]
SingleSchedule Endpoint
The SingleSchedule endpoint allows you to carry out CRUD operations related to PBRS single schedules.
* denotes a required field
GetAll
Retrieves all Power BI Single Schedules in PBRS regardless of folder location based on the Schedules' Keywords. If the body is not provided, the request will return an empty array.
GET api/singleschedule/getall
GET Body
Field |
Type |
Description |
---|---|---|
FilterValues |
[string] |
A string array of zero or more values to filter only the schedules whose keywords match the provided values. |
FilterOperator |
string |
The search operator for the filters. Valid values are:
Defaults to LIKE |
MatchType |
string |
Specifies of the filter should match ALL the values or ANY one value. Valid values are:
|
GetAllPaginated
Retrieves all Power BI Paginated Report Single Schedules in PBRS regardless of folder location based on the Schedules' Keywords. If the body is not provided, the request will return an empty array.
GET api/singleschedule/getallpaginated
GET Body
Field |
Type |
Description |
---|---|---|
FilterValues |
[string] |
A string array of zero or more values to filter only the schedules whose keywords match the provided values. |
FilterOperator |
string |
The search operator for the filters. Valid values are:
Defaults to LIKE |
MatchType |
string |
Specifies of the filter should match ALL the values or ANY one value. Valid values are:
|
Get Single Schedule
Returns the full Power BI single schedule model.
GET api/singleschedule/get/{id}
Result
{
"PowerBiAccountId": "16f471eb-87fb-4f74-8fea-0a5df5a8156b",
"ObjectType": "REPORT",
"ReportUrl": "https://app.powerbi.com/reportEmbed?reportId=017b23aa-ed0e-4ba1-a4fb-38908b16914f&config=eyJjbHVzdGVyVXJsIjoiaHR0cHM6Ly9XQUJJLVVTLUVBU1QyLXJlZGlyZWN0LmFuYWx5c2lzLndpbmRvd3MubmV0IiwiZW1iZWRGZWF0dXJlcyI6eyJtb2Rlcm5FbWJlZCI6dHJ1ZX19",
"PowerBiReportName": "Customer Profitability Sample",
"WorkspaceName": "My Workspace",
"ApplyBookmark": false,
"BookmarkJson": "",
"RenderingSettings": {
"OptionId": "5cb83ebd-a262-4732-a8b7-fad55526091f",
"ReportId": 670421871,
"MinLoadingTime": 10,
"MaxLoadingTime": 60,
"PageWidth": 1300,
"PageHeight": 800,
"PagesToRender": "1-3",
"PageOrientation": 0,
"MarginLeft": 0,
"MarginRight": 0,
"ViewStyle": 0,
"RenderingMethod": 2,
"TransparentBackground": true,
"MinReportSize": -1,
"CropPdf": false,
"PDFCompression": 0,
"CropLeft": 0,
"CropRight": 0,
"CropTop": 0,
"CropBottom": 0
},
"BasicFilters": [
{
"BasicValues": [
"Amezam",
"Sonic",
"QuestFP"
],
"Operator": "In",
"FilterId": "21d15577-17ab-4fec-bf9d-330bcae9cd55",
"TargetField": "Supplier.Name",
"FieldDataType": "String",
"FilterLevel": 0,
"SlicerSelectorType": 0,
"SlicerSelectorValue": "",
"SlicerSelectorRawValue": {
"name": null,
"title": null,
"type": null
},
"IgnoreBlankDataDrivenInserts": true
}
],
"AdvancedFilters": null,
"ScheduleName": "API Created Schedule",
"FolderPath": "Annual",
"UniqueId": 670421871,
"Description": "This is a sample schedule created via the API",
"Keywords": "API, PBRS, Testing",
"Schedule": {
"Frequency": "Daily",
"StartDate": "2021-03-30",
"HasEndDate": false,
"EndDate": "2030-03-31",
"ExecutionTime": "14:00:00",
"Repeat": false,
"RepeatInterval": 0.25,
"RepeatUnit": null,
"RepeatUntil": "00:00:00",
"Enabled": true,
"ScheduleId": 670421872,
"NextRunEpochUtc": 1617127200,
"ParentId": 670421871,
"Description": "This is a sample schedule created via the API",
"Keywords": "API, PBRS, Testing"
},
"EmailDestinations": [
{
"To": [
"user@company.com"
],
"Cc": [],
"Bcc": [],
"Subject": "API Created Schedule Email",
"Body": "Hello this is a test message",
"BodyFormat": "TEXT",
"EmbedReport": false,
"EmbedFormat": "IMAGE",
"CustomSenderName": "",
"CustomerSenderAddress": "",
"DestinationName": "Email Destination via API",
"DestinationId": 670421872,
"DestinationType": "Email",
"OutputFormat": "Acrobat Format (*.pdf)",
"CustomOutputFileName": "",
"CustomOutputExtension": "",
"Enabled": true,
"ParentId": 670421871
},
{
"To": [
"user@company.com",
"user2@company.com"
],
"Cc": [
"user3@company.com"
],
"Bcc": [],
"Subject": "API Created Schedule Email",
"Body": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\r\n<HTML><HEAD>\r\n<META http-equiv=\"Content-Type\" content=\"text/html; charset=unicode\">\r\n<META name=\"GENERATOR\" content=\"MSHTML 11.00.10570.1001\"></HEAD>\r\n<BODY style=\"font-family: Verdana; font-size: 12px;\">\r\n<P>Hello this is a test message</P></BODY></HTML>\r\n",
"BodyFormat": "HTML",
"EmbedReport": false,
"EmbedFormat": "IMAGE",
"CustomSenderName": "",
"CustomerSenderAddress": "",
"DestinationName": "Email Destination via API",
"DestinationId": 670425094,
"DestinationType": "Email",
"OutputFormat": "Acrobat Format (*.pdf)",
"CustomOutputFileName": "",
"CustomOutputExtension": "",
"Enabled": true,
"ParentId": 670421871
}
],
"PackId": 0,
"Owner": "swa"
}
GetPaginated
Returns the object representing a Paginated Single schedule.
GET api/singleschedule/getpaginated/{id}
CreateForPowerBI
This is to create Power BI Single Schedules.
POST api/singleschedule/createforpowerbi
POST Body
Field |
Type |
Description |
---|---|---|
PowerBiAccountId |
string |
The Power BI account ID. |
ReportUrl |
string |
The embed url of the report. |
PowerBiReportName |
string |
The name of the Power BI report. |
WorkspaceName |
string |
The name of the Power BI workspace. |
ApplyBookmark |
boolean |
Flag indicating if a Bookmark JSON will be provided for the report. |
BookmarkJson |
string |
The JSON string for the Bookmark. |
RenderingSettings |
renderingsettingsmodel |
The report rendering settings. (see below for fields) |
BasicFilters |
[powerbibasicfiltermodel] |
An array of zero or more basic filters. |
AdvancedFilters |
[powerbiadvancedfiltermodel] |
An array of zero or more advanced filters. |
ScheduleName |
string |
The name of the PBRS schedule. |
FolderPath |
string |
The path in PBRS to create the schedule. |
Description |
string |
The schedule description. |
Keywords |
string |
The schedule keywords. |
Schedule |
timeschedulebasemodel |
The definition for when the schedule will run. |
EmailDestinations |
[emaildestinationmodel] |
An array of 1 or more email destinations. |
CreatePaginated
This is to create Power BI Paginated Single Schedules.
POST api/singleschedule/createpaginated
POST Body
Field |
Type |
Description |
---|---|---|
PowerBiAccountId |
string |
The Power BI account Id. |
ReportUrl |
string |
The paginated report URL. |
PowerBiReportName |
string |
The name of the paginated report. |
WorkspaceName |
string |
The Workspace where the paginated report is located. |
UseNativeAPIForRendering |
boolean |
Specifies if PBRS should use Power BI’s API to render the report. Default is false. |
Parameters |
[PaginatedParameterModel] |
An array of parameters for the paginated report. |
UpdateForPowerBI
This method updates a Power BI Single schedule and uses the same POST body as the CreateForPowerBI method.
POST api/singleschedule/updateforpowerbi
AddEmailDestination (EmailDestinationModel)
Adds an email destination to an existing Power BI single schedule.
POST api/singleschedule/addemaildestination
POST Body
Field |
Type |
Description |
---|---|---|
ParentId |
integer |
The unique ID of the parent schedule. |
DestinationName |
string |
The name of the destination. |
OutputFormat |
string |
The output format for the destination. Valid values are:
|
CustomOutputFileName |
string |
Optional custom output file name. |
CustomOutputExtension |
string |
Optional custom output file extension. |
Enabled |
boolean |
Specifies if the destination is enabled or not. |
To |
[string] |
An array of one or more email addresses to send the report to. |
Cc |
[string] |
An array or zero or more email addresses to send the report to. |
Bcc |
[string] |
An array or zero or more email addresses to send the report to. |
Subject |
string |
The email subject. |
Body |
string |
The email body as plain text or escaped HTML. |
BodyFormat |
string |
The format of the email body. Valid options are HTML or TEXT. |
EmbedReport |
boolean |
Indicates if the report should be embedded in the body of the email. |
EmbedFormat |
string |
The format that the embedded report will be. Valid options are IMAGE or HTML. |
CustomSenderName |
string |
The sender name that will appear when the email is sent. |
CustomerSenderAddress |
string |
The custom reply-to email address. |
Delete
Deletes the Power BI or Paginated Single Report Schedule with the specified Id.
DELETE api/singleschedule/delete/{id}
PackageSchedule Endpoint
The PackageSchedule endpoint allows you to carry out CRUD operations related to PBRS Package schedules.
GetAll
Retrieves all Power BI Packaged in PBRS regardless of folder location based on the Schedules' Keywords. If the body is not provided, the request will return an empty array.
GET api/packageschedule/getall
GET Body
Field |
Type |
Description |
---|---|---|
FilterValues |
[string] |
A string array of zero or more values to filter only the schedules whose keywords match the provided values. |
FilterOperator |
string |
The search operator for the filters. Valid values are:
Defaults to LIKE |
MatchType |
string |
Specifies of the filter should match ALL the values or ANY one value. Valid values are:
|
Get Package
Returns the full Package Schedule model for a specific package.
GET api/packageschedule/get/{id}
Create
This is to create Power BI packages.
POST api/packageschedule/create
Field |
Type |
Description |
---|---|---|
PackageName* |
string |
A unique name for the package schedule. |
FolderPath* |
string |
The path in PBRS to create the schedule. |
DataDriven |
boolean |
Specified if the package is to be driven with a data-driver. If true, a data-driver must be provided. Defaults to False. |
Schedule* |
TimeScheduleBaseModel |
The definition for when the schedule will run. |
EmailDestinations* |
[EmailDestinationModel] |
An array of 1 or more email destinations. |
PowerBIReports* |
[PackagedPowerBIReportModel] |
An array of 1 or more packaged Power BI report definitions. |
DataDriver |
DataDriverModel |
The data-driver definition. Must be provided if DataDriven is True. |
GroupByEmail |
boolean |
Specifies if files will from the data-driven package will be grouped by email address. |
Description |
string |
The schedule description. |
Keywords |
string |
The schedule keywords. |
Delete
Deletes the Package Schedule with the specified Id
DELETE api/packageschedule/delete/{id}
Dependent Models
PowerBIDataOnlyExportModel
Field |
Type |
Description |
---|---|---|
PageNumber* |
int |
The zero based page index on the Power BI report where visual is located. |
VisualTitle* |
string |
The title of the Power BI visual. |
ExportType* |
int |
Specified if the data export will retrieve summary or underlying data. SUMMARY = 0 (Default) UNDERLYING = 1 |
ExcelStyle |
string |
A JSON string that can be used to format the Excel output |
ColumnsToSummarize |
[string] |
An array of zero or more column indeces that will be summarized in the output Worksheet e.g [“A”, “B”, “D”] |
RowsToSummarize |
[int] |
An array of zero of more row indeces that will be summarized in the output Worksheet e.g. [1,3] |
WorksheetName |
string |
The name of the Worksheet. Defaults to the visual title. |
OrderNumber |
int |
The order that the Worksheet will appear in the Workbook. |
RenderingSettingsModel
Field |
Type |
Description |
---|---|---|
MinLoadingTime |
int |
The minimum amount of time that PBRS will wait before proceeding to render a Power BI report to file. |
MaxLoadingTime |
int |
The maximum amount of time that PBRS will wait before proceeding to render a Power BI report to file. |
PageWidth |
int |
The width of the Power BI report. |
PageHeight |
int |
The height of the Power BI report. |
PageOrientation |
int |
The orientation of the Power BI report. Valid values are:
|
PagesToRender |
string |
The range of pages to render e.g. 1,2,3,5-10. Leave blank for all pages. |
MarginLeft |
int |
The page’s left side margin. |
MarginRight |
int |
The page’s right side margin. |
ViewStyle |
int |
The Power BI report fit style. Valid values are:
|
RenderingMethod |
int |
The method to use for rendering the Power BI report. Valid values are:
|
TransparentBackground |
boolean |
Indicates whether the rendered report should include the background image. |
MinReportSize |
int |
An optional size that PBRS will use to determine whether or not a report was rendered successfully. If the report output size is less than this value, then the report will be re-rendered. |
CropPdf |
boolean |
Indicates if PBRS should crop the PDF output. |
CropLeft |
int |
The mount of pixels to crop the PDF by from the left edge. |
CropRight |
int |
The mount of pixels to crop the PDF by from the right edge. |
CropTop |
int |
The mount of pixels to crop the PDF by from the top edge. |
CropBottom |
int |
The mount of pixels to crop the PDF by from the bottom edge. |
PDFCompression |
int |
How much compression to apply to the rendered PDF. Valid values are:
|
PowerBiFilterBaseModel
Field |
Type |
Description |
---|---|---|
TargetField |
string |
The field that the filter will be applied to e.g. Sales.OrderId. |
FieldDataType |
string |
The target field’s data type. Valid values are:
|
FilterLevel |
int |
Indicates if the filter should be applied to a slicer or page. Valid values are:
|
SlicerSelectorType |
int |
For slicer filters, indicates if the selector is a Visual title or the field that your slicer is based on. Valid values are:
|
SlicerSelectorValue |
string |
Holds either the slicer’s visual title or the slicer’s target field depending on the SlicerSelectorType above. |
IgnoreBlankDataDrivenInserts |
boolean |
indicates if the filter should be ignored if its data-driven value is empty. |
PowerBiBasicFilterModel
This model inherits from the PowerBiFilterBaseModel.
Field |
Type |
Description |
---|---|---|
BasicValues |
[string] |
An array of one or more values for the filter. |
Operator |
string |
The basic filter operator. Value can be either “In” or “NotIn”. Default value is “In”. |
PowerBiAdvancedFilterModel
This model inherits from the PowerBiFilterBaseModel.
Field |
Type |
Description |
---|---|---|
Operator |
string |
The filter operator. Valid values are:
|
FirstCondition |
key-value pair of string and string |
A key-value pair of the operator and the value for the advanced filter condition. |
SecondCondition |
key-value pair of string and string |
A dictionary of the operator and the value for the advanced filter condition. |
TimeScheduleBaseModel
Field |
Type |
Description |
---|---|---|
Description |
string |
The schedule’s description. |
Enabled |
boolean |
Indicates if the schedule should be enabled. |
EndDate |
string |
If applicable the schedule’s end date in the format yyyy-MM-dd. |
ExecutionTime |
string |
The schedule’s execution time in the format HH:mm e.g. 14:00 for 2PM. |
Frequency |
string |
The frequency of the schedule. Valid values are:
|
HasEndDate |
boolean |
Indicates if the schedule has an end date. |
Keywords |
string |
The schedule’s keywords. |
NextRunEpochUtc |
readonly int |
The schedule’s next run date represented as Unix date. |
Repeat |
bool |
Indicates if the schedule should repeat after the execution time. |
RepeatInterval |
double |
The repetition interval. |
RepeatUnit |
string |
The repeat interval. Valid values are:
|
RepeatUntil |
string |
When the schedule will repeat until in the format HH:mm. |
StartDate |
string |
The start date of the schedule in the format yyyy-MM-dd e.g. 2021-04-07 for April 7th 2021. |
PackagedPowerBIReportModel
Field |
Type |
Description |
---|---|---|
PowerBiAccountId* |
string |
The Power BI account ID. |
ReportUrl* |
string |
The embed URL of the report. |
ObjectType |
string |
The Power BI object type. Valid values are: REPORT DASHBOARD Default value is REPORT |
PowerBiReportName* |
string |
The name of the Power BI report. |
WorkspaceName* |
string |
The name of the Power BI workspace. |
ApplyBookmark |
boolean |
Flag indicating if a Bookmark JSON will be provided for the report. Default to false. |
BookmarkJson |
string |
The JSON string for the Bookmark. Only required if ApplyBookmark is true. |
RenderingSettings |
renderingsettingsmodel |
The report rendering settings. (see below for fields) |
BasicFilters |
[powerbibasicfiltermodel] |
An array of zero or more basic filters. |
AdvancedFilters |
[powerbiadvancedfiltermodel] |
An array of zero or more advanced filters. |
PowerBIDataOnlyExportSettings |
[powerbidataonlyexportmodel] |
Required if the output is MS Excel - Data Only (*.xlsx) to specify which visuals to export. |
DataDriverModel
Field |
Type |
Description |
---|---|---|
KeyField* |
string |
The name of the field that uniquely identifies each record in the data-driver. |
ValuesJson* |
string |
A valid JSON string representing the multiple objects to be used to data-drive the schedule. |
PaginatedParameterModel
Field |
Type |
Description |
---|---|---|
ParameterName |
string |
The name of the parameter. |
ParameterValue |
string |
The value for the parameter. |
IsNull |
boolean |
Specifies if Null should be passed as the parameter value. Defaults to false. |
ParameterType |
int |
The parameter type and values can be: String = 0 (Default) Numeric = 1, Date = 2, Boolean = 3, Other = 4 |