| Requires any of the roles: | Agent, Administrator, Agent, Administrator |
| GET,POST,OPTIONS | /v1/Resource |
|---|
"use strict";
export class ResourceCategory {
/** @param {{CategoryName?:string,Subcategories?:string[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
CategoryName;
/** @type {string[]} */
Subcategories = [];
}
export class Document {
/** @param {{DocumentId?:string,DocType?:string,DocCategory?:string,DocSubCategory?:string,DocTitle?:string,DocDescription?:string,DocData?:string,DocExpiration?:string,DocMimeType?:string,DisplayOrder?:number,FileSizeInKB?:number,Link?:string,UploadDate?:string,DocKey?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
DocumentId;
/** @type {string} */
DocType;
/** @type {string} */
DocCategory;
/** @type {string} */
DocSubCategory;
/** @type {string} */
DocTitle;
/** @type {string} */
DocDescription;
/** @type {string} */
DocData = [];
/** @type {?string} */
DocExpiration;
/** @type {string} */
DocMimeType;
/** @type {number} */
DisplayOrder;
/** @type {number} */
FileSizeInKB;
/** @type {string} */
Link;
/** @type {?string} */
UploadDate;
/** @type {string} */
DocKey;
}
export class Resource {
/** @param {{ResourceType?:string,Categories?:ResourceCategory[],Documents?:Document[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
ResourceType;
/** @type {ResourceCategory[]} */
Categories = [];
/** @type {Document[]} */
Documents = [];
}
export class ResourceResponse {
/** @param {{ResponseStatus?:ResponseStatus,Resource?:Resource[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ResponseStatus} */
ResponseStatus;
/** @type {Resource[]} */
Resource = [];
}
export class ResourceRequest {
/** @param {{Resource?:Resource[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {Resource[]} */
Resource = [];
}
JavaScript ResourceRequest 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/Resource HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Resource:
[
{
ResourceType: String,
Categories:
[
{
CategoryName: String,
Subcategories:
[
String
]
}
],
Documents:
[
{
DocumentId: 00000000000000000000000000000000,
DocType: String,
DocCategory: String,
DocSubCategory: String,
DocTitle: String,
DocDescription: String,
DocData: AA==,
DocExpiration: 0001-01-01,
DocMimeType: String,
DisplayOrder: 0,
FileSizeInKB: 0,
Link: String,
UploadDate: 0001-01-01,
DocKey: String
}
]
}
]
}
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
}
},
Resource:
[
{
ResourceType: String,
Categories:
[
{
CategoryName: String,
Subcategories:
[
String
]
}
],
Documents:
[
{
DocumentId: 00000000000000000000000000000000,
DocType: String,
DocCategory: String,
DocSubCategory: String,
DocTitle: String,
DocDescription: String,
DocData: AA==,
DocExpiration: 0001-01-01,
DocMimeType: String,
DisplayOrder: 0,
FileSizeInKB: 0,
Link: String,
UploadDate: 0001-01-01,
DocKey: String
}
]
}
]
}