| GET | /v4/collections/list |
|---|
// @DataContract
export class V4BaseRequest
{
public constructor(init?: Partial<V4BaseRequest>) { (Object as any).assign(this, init); }
}
// @DataContract
export class V4PaginatedBaseRequest extends V4BaseRequest
{
// @DataMember(Name="offset")
public offset: number;
// @DataMember(Name="limit")
public limit: number;
public constructor(init?: Partial<V4PaginatedBaseRequest>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class V4ListRequest extends V4PaginatedBaseRequest
{
// @DataMember(Name="ids")
public ids: string[];
public constructor(init?: Partial<V4ListRequest>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class V4BaseResponse
{
// @DataMember(Name="status")
public status: ResponseStatus;
public constructor(init?: Partial<V4BaseResponse>) { (Object as any).assign(this, init); }
}
// @DataContract
export class V4PageObject
{
// @DataMember(Name="offset")
public offset: number;
// @DataMember(Name="limit")
public limit: number;
// @DataMember(Name="totalRecords")
public totalRecords: number;
public constructor(init?: Partial<V4PageObject>) { (Object as any).assign(this, init); }
}
// @DataContract
export class V4PaginatedBaseResponse extends V4BaseResponse
{
// @DataMember(Name="page")
public page: V4PageObject;
public constructor(init?: Partial<V4PaginatedBaseResponse>) { super(init); (Object as any).assign(this, init); }
}
export interface IUserCollection
{
id: string;
title: string;
linkIds: string[];
collectionSettingsId: string;
}
// @DataContract
export class GetCollectionsResponse extends V4PaginatedBaseResponse implements IGetCollectionsResponse
{
// @DataMember(Name="data")
public data: IUserCollection[];
public constructor(init?: Partial<GetCollectionsResponse>) { super(init); (Object as any).assign(this, init); }
}
// @DataContract
export class GetCollectionsRequest extends V4ListRequest
{
public constructor(init?: Partial<GetCollectionsRequest>) { super(init); (Object as any).assign(this, init); }
}
TypeScript GetCollectionsRequest 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.
GET /v4/collections/list HTTP/1.1 Host: collections-api-zane.dev.platform.georiot.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
page:
{
offset: 0,
limit: 0,
totalRecords: 0
},
status:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}