PBRS REST API Model Reference
Centralize reusable request and response models so task guides do not repeat incomplete field lists.
Review status: Draft for Development and Support review. Routes and models labelled validation required must be tested against the supported PBRS build before publication.
Model documentation rules
For every field, publish its JSON name, type, required state, default, enum values, null behavior, read-only status, validation rules and first supported build.
Model families
| Model family | Required coverage |
|---|---|
| Schedule identity | UniqueId, name, folder, type, description, keywords and server context |
| Recurrence | One-time, daily, weekly, monthly and annual models with frequency-specific required fields |
| Power BI filters | Basic and advanced targets, operators, values and encoding |
| Paginated parameters | Name, type, values, null and multi-value behavior |
| Rendering | Chromium, native API and image settings with supported outputs and limitations |
| Email destinations | Recipients, sender, reply-to, subject, body, attachments and replacement behavior |
| Data-only Excel | Visual identity, underlying/summary behavior and ExcelStyle |
| Package and data driver | Members, KeyField, ValuesJson, grouping and partial failures |
Recurrence warning
A generic time-schedule model is insufficient if weekly, monthly and annual schedules require fields not present in the base model. Publish separate validated examples for each frequency and explain the meaning of Repeat relative to Frequency.
Published reusable models
| Model | Published fields and values | Known gap |
|---|---|---|
TimeScheduleBaseModel |
Description; Enabled; EndDate yyyy-MM-dd; ExecutionTime HH:mm; Frequency Daily/Weekly/Monthly/Annual/Weekdays; HasEndDate; Keywords; readonly NextRunEpochUtc; Repeat; RepeatInterval; RepeatUnit minute/hour; RepeatUntil; StartDate | Frequency-specific day/month fields, timezone and missed-run behavior |
PaginatedParameterModel |
ParameterName string; ParameterValue string; IsNull boolean default false; ParameterType String=0, Numeric=1, Date=2, Boolean=3, Other=4 | Multi-value encoding and locale/date rules |
PowerBiFilterBaseModel |
TargetField; FieldDataType string/date/numeric; FilterLevel Report=0/Slicer=1; SlicerSelectorType Visual title=0/Slicer field=1; SlicerSelectorValue; IgnoreBlankDataDrivenInserts | Exact target escaping and value conversion |
PowerBiBasicFilterModel |
Base fields; BasicValues string array; Operator In or NotIn, default In | Blank and null behavior |
PowerBiAdvancedFilterModel |
Base fields; operator conditions including comparison, Contains, StartsWith, EndsWith, Is/IsNot and blank tests; FirstCondition; SecondCondition | Logical join property and exact condition encoding require validation |
RenderingSettingsModel |
Min/MaxLoadingTime; dimensions; orientation Portrait=0/Landscape=1; pages; margins; ViewStyle Actual=0/Fit page=1/Fit width=2; RenderingMethod Webkit=0/Chromium=1/Image=2; transparency; MinReportSize; PDF crop values; compression None=0/Low=1/Medium=2/High=3 | Native API relationship, per-output applicability and defaults |
PowerBIDataOnlyExportModel |
PageNumber; VisualTitle; ExportType Summary=0/Underlying=1; ExcelStyle; ColumnsToSummarize; RowsToSummarize; WorksheetName; OrderNumber | ExcelStyle schema, supported visuals and row/size limits |
PackagedPowerBIReportModel |
PowerBiAccountId; ReportUrl; ObjectType REPORT/DASHBOARD default REPORT; PowerBiReportName; WorkspaceName; bookmark fields; rendering; filters; PowerBIDataOnlyExportSettings | Required/null rules and output compatibility |
DataDriverModel |
KeyField; ValuesJson | Complete ValuesJson schema and per-row result behavior |
EmailDestinationModel |
ParentId; DestinationName; OutputFormat; filename/extension; Enabled; To/Cc/Bcc; Subject; Body; BodyFormat HTML/TEXT; EmbedReport; EmbedFormat IMAGE/HTML; sender and reply-to fields | Required fields, update semantics and response schema |
Schema publication rule
For every model, Development must add required/optional status, defaults, null behavior, validation constraints, read-only fields, introduced build and at least one complete parent request. Do not infer missing recurrence or data-driver fields from the desktop interface.
Documentation standard: Record the PBRS build used for verification, test in a non-production environment, redact credentials and customer data, and confirm the saved PBRS state after every write.