Requires any of the roles: | SystemAdministrator, Manager |
GET | /users |
---|
export class NodeParameterMap
{
[key:string] : NodeParameter;
public constructor(init?: Partial<NodeParameterMap>) { (Object as any).assign(this, init); }
}
export enum SortOrders
{
Ascend = 'Ascend',
Descend = 'Descend',
}
export class ListRequest<T> implements IGet
{
/** @description The page of data to retrieve */
// @ApiMember(Description="The page of data to retrieve")
public page: number;
/** @description If you want all objects to be returned. This should be used with care */
// @ApiMember(Description="If you want all objects to be returned. This should be used with care")
public all: boolean;
/** @description The number per page to retrieve */
// @ApiMember(Description="The number per page to retrieve")
public countPerPage: number;
/** @description Specific IDs */
// @ApiMember(Description="Specific IDs")
public specificIds: string[];
/** @description Specify a sort field */
// @ApiMember(Description="Specify a sort field")
public sortField: string;
/** @description Specify a sort order */
// @ApiMember(Description="Specify a sort order")
public sortOrder: SortOrders;
/** @description Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array */
// @ApiMember(Description="Disables total / page counts - improves performance. Returns only data. If there is no more data, Items will be empty array")
public simplifiedPaging: boolean;
public constructor(init?: Partial<ListRequest<T>>) { (Object as any).assign(this, init); }
}
export enum DashboardPermissions
{
ViewFiles = 'ViewFiles',
ViewNotifications = 'ViewNotifications',
ViewSessions = 'ViewSessions',
ViewEndpoints = 'ViewEndpoints',
ViewReports = 'ViewReports',
ViewCustomers = 'ViewCustomers',
ViewFlows = 'ViewFlows',
}
export class UserInfo
{
public id: string;
public isAuthenticated: boolean;
public firstName: string;
public lastName: string;
public name: string;
public avatarUrl: string;
public emailAddress: string;
public roles: string[];
public accountIds: string[];
public accountNames: string[];
public dashboardPermissions: DashboardPermissions[];
public constructor(init?: Partial<UserInfo>) { (Object as any).assign(this, init); }
}
/** @description Gets the users for the specified account */
// @Api(Description="Gets the users for the specified account")
export class ListUsers extends ListRequest<UserInfo>
{
/** @description The account IDs whose users you want to retrieve */
// @ApiMember(Description="The account IDs whose users you want to retrieve")
public accountIds: string[];
/** @description Filter by email */
// @ApiMember(Description="Filter by email")
public emailFilter: string;
public constructor(init?: Partial<ListUsers>) { super(init); (Object as any).assign(this, init); }
}
export class EntityInfo
{
/** @description The ID of the object */
// @ApiMember(Description="The ID of the object")
public id: string;
/** @description The date the object was created */
// @ApiMember(Description="The date the object was created")
public dateCreated: string;
/** @description The date the object was last modified */
// @ApiMember(Description="The date the object was last modified")
public dateLastModified: string;
/** @description The user that created this object */
// @ApiMember(Description="The user that created this object")
public createdBy: string;
/** @description The user that last modified this object */
// @ApiMember(Description="The user that last modified this object")
public lastModifiedBy: string;
public constructor(init?: Partial<EntityInfo>) { (Object as any).assign(this, init); }
}
export class BillingItem
{
public baseCost: number;
public rawUnitMultiplier: number;
public unitCost: number;
public allowance: number;
public constructor(init?: Partial<BillingItem>) { (Object as any).assign(this, init); }
}
export class BillingSettings
{
public base: BillingItem;
public localNumbers: BillingItem;
public tollFreeNumbers: BillingItem;
public inboundVoiceCalls: BillingItem;
public outboundVoiceCalls: BillingItem;
public inboundFaxes: BillingItem;
public outboundFaxes: BillingItem;
public inboundSmsMessages: BillingItem;
public outboundSmsMessages: BillingItem;
public aiInsights: BillingItem;
public aiLiveMinutes: BillingItem;
public constructor(init?: Partial<BillingSettings>) { (Object as any).assign(this, init); }
}
export class AccountInfo extends EntityInfo
{
/** @description The name of this account */
// @ApiMember(Description="The name of this account")
public name: string;
/** @description The ID of this account's parent */
// @ApiMember(Description="The ID of this account's parent")
public parentAccountId: string;
/** @description The twilio account SID */
// @ApiMember(Description="The twilio account SID")
public twilioAccountSid: string;
/** @description The ancestors of this account. Useful for breadcrumbs */
// @ApiMember(Description="The ancestors of this account. Useful for breadcrumbs")
public ancestorIds: string[];
/** @description The max number of phone numbers this account can have */
// @ApiMember(Description="The max number of phone numbers this account can have")
public maxPhoneNumbers: number;
/** @description This account is BYOA */
// @ApiMember(Description="This account is BYOA")
public isBYOA: boolean;
/** @description TrustHub Profile Sid */
// @ApiMember(Description="TrustHub Profile Sid")
public trustHubProfileSid: string;
/** @description The ID of the logo file */
// @ApiMember(Description="The ID of the logo file")
public logoId: string;
/** @description The URI of the logo file */
// @ApiMember(Description="The URI of the logo file")
public logoUri: string;
/** @description The billing settings for this account */
// @ApiMember(Description="The billing settings for this account")
public billingSettings: BillingSettings;
public constructor(init?: Partial<AccountInfo>) { super(init); (Object as any).assign(this, init); }
}
export class ListResponse<T>
{
/** @description The items */
// @ApiMember(Description="The items")
public items: AccountInfo[];
/** @description The total number of items */
// @ApiMember(Description="The total number of items")
public totalCount: number;
/** @description The total number of pages */
// @ApiMember(Description="The total number of pages")
public totalPages: number;
/** @description Are there more pages of items? Used with simplified paging */
// @ApiMember(Description="Are there more pages of items? Used with simplified paging")
public hasMorePages: boolean;
public constructor(init?: Partial<ListResponse<T>>) { (Object as any).assign(this, init); }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /users HTTP/1.1 Host: team.evovoice.io Accept: text/jsonl
HTTP/1.1 200 OK Content-Type: text/jsonl Content-Length: length {"items":[{"id":"String","isAuthenticated":false,"firstName":"String","lastName":"String","name":"String","avatarUrl":"String","emailAddress":"String","roles":["String"],"accountIds":["String"],"accountNames":["String"],"dashboardPermissions":["ViewFiles"]}],"totalCount":0,"totalPages":0,"hasMorePages":false}