Trendsic Platform Service

<back to all web services

ReportRunRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
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 .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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/csv
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"]}}