| GET | /users/all |
|---|
namespace Application.Interfaces.Resources
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type AccountStatus =
| Shadowed = 0
| Registered = 1
type AccountType =
| Person = 0
| Machine = 1
[<AllowNullLiteral>]
type UserAccountMembership() =
member val UserId:String = null with get,set
member val UserEmailAddress:String = null with get,set
member val Status:AccountStatus = new AccountStatus() with get,set
member val Type:AccountType = new AccountType() with get,set
member val Roles:ResizeArray<String> = new ResizeArray<String>() with get,set
member val Id:String = null with get,set
member val OrganisationId:String = null with get,set
[<AllowNullLiteral>]
type UserDetails() =
inherit UserAccountMembership()
member val LastLoginDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
member val TwoFactorEnabled:Boolean = new Boolean() with get,set
member val Name:String = null with get,set
[<AllowNullLiteral>]
type SearchAllUsersResponse() =
member val ResponseStatus:ResponseStatus = null with get,set
member val UserDetails:ResizeArray<UserDetails> = new ResizeArray<UserDetails>() with get,set
[<AllowNullLiteral>]
type SearchAllUsersRequest() =
inherit SearchOperationTenanted<SearchAllUsersResponse>()
[<AllowNullLiteral>]
type SearchOperationTenanted<'TResponse>() =
inherit SearchOperationUnTenanted<TResponse>()
member val OrganisationId:String = null with get,set
[<AllowNullLiteral>]
type SearchOperationUnTenanted<'TResponse>() =
inherit GetOperationUnTenanted<TResponse>()
member val Distinct:String = null with get,set
member val Limit:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Offset:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Sort:String = null with get,set
member val Filter:String = null with get,set
[<AllowNullLiteral>]
type GetOperationUnTenanted<'TResponse>() =
interface IGet
member val Embed:String = null with get,set
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 /users/all HTTP/1.1 Host: staging-api.foundrylab.com Accept: text/jsv
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
}
},
userDetails:
[
{
lastLoginDate: ,
twoFactorEnabled: False,
name: String,
userId: String,
userEmailAddress: String,
status: Shadowed,
type: Person,
roles:
[
String
],
id: String,
organisationId: String
}
]
}