| Requires any of the roles: | Agent, Administrator |
| POST,OPTIONS | /v1/report/run |
|---|
export class ReportMeasure
{
public FieldCode: string;
public Agg: string;
public constructor(init?: Partial<ReportMeasure>) { (Object as any).assign(this, init); }
}
export class ReportSort
{
public FieldCode: string;
public Dir: string;
public constructor(init?: Partial<ReportSort>) { (Object as any).assign(this, init); }
}
export class ReportDefinition
{
public DatasetCode: string;
public Dimensions: string[] = [];
public Measures: ReportMeasure[] = [];
public Joins: string[] = [];
public Filters: string;
public Sorts: ReportSort[] = [];
public Limit: number;
public constructor(init?: Partial<ReportDefinition>) { (Object as any).assign(this, init); }
}
export class ReportColumnMeta
{
public Code: string;
public Name: string;
public DataType: string;
public FieldKind: string;
public Agg: string;
public constructor(init?: Partial<ReportColumnMeta>) { (Object as any).assign(this, init); }
}
export class ReportRunResult
{
public Columns: ReportColumnMeta[] = [];
public Rows: { [index:string]: Object; }[] = [];
public RowCount: number;
public Truncated: boolean;
public Notes: string[] = [];
public constructor(init?: Partial<ReportRunResult>) { (Object as any).assign(this, init); }
}
export class ReportRunResponse
{
public ResponseStatus: ResponseStatus;
public Result: ReportRunResult;
public constructor(init?: Partial<ReportRunResponse>) { (Object as any).assign(this, init); }
}
export class ReportRunRequest extends ReportDefinition
{
public constructor(init?: Partial<ReportRunRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript ReportRunRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/report/run HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
DatasetCode: String,
Dimensions:
[
String
],
Measures:
[
{
FieldCode: String,
Agg: String
}
],
Joins:
[
String
],
Filters: String,
Sorts:
[
{
FieldCode: String,
Dir: String
}
],
Limit: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Result:
{
Columns:
[
{
Code: String,
Name: String,
DataType: String,
FieldKind: String,
Agg: String
}
],
Rows:
[
{
String: {}
}
],
RowCount: 0,
Truncated: False,
Notes:
[
String
]
}
}