| GET | /api/v1/users |
|---|
namespace MigrantLeap.Auth.v1.Models
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<DataContract>]
[<AllowNullLiteral>]
type ResponseStatus() =
[<DataMember(Order=1)>]
member val StatusCode:Int32 = new Int32() with get,set
[<DataMember(Order=2)>]
member val Message:String = null with get,set
[<DataMember(Order=3)>]
member val StackTrace:String = null with get,set
[<DataMember(Order=4)>]
member val Errors:ResizeArray<ResponseError> = new ResizeArray<ResponseError>() with get,set
[<DataMember(Order=5)>]
member val Meta:Dictionary<String, String> = new Dictionary<String, String>() with get,set
[<AllowNullLiteral>]
type BaseResponse() =
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type MUser() =
member val Id:String = null with get,set
member val Email:String = null with get,set
member val FirstName:String = null with get,set
member val LastName:String = null with get,set
member val Country:String = null with get,set
member val Language:String = null with get,set
member val BirthDate:String = null with get,set
member val Address:String = null with get,set
member val Address2:String = null with get,set
member val City:String = null with get,set
member val State:String = null with get,set
member val ZipCode:String = null with get,set
member val PhoneNumber:String = null with get,set
member val EmailConfirmed:Boolean = new Boolean() with get,set
member val HealthId:String = null with get,set
member val MemberId:String = null with get,set
member val Subscription:String = null with get,set
[<AllowNullLiteral>]
type GetUsersResponse() =
inherit BaseResponse()
member val Users:ResizeArray<MUser> = new ResizeArray<MUser>() with get,set
[<AllowNullLiteral>]
type GetUsers() =
class end
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 /api/v1/users HTTP/1.1 Host: auth.migrantleap.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
users:
[
{
id: String,
email: String,
firstName: String,
lastName: String,
country: String,
language: String,
birthDate: String,
address: String,
address2: String,
city: String,
state: String,
zipCode: String,
phoneNumber: String,
emailConfirmed: False,
healthId: String,
memberId: String,
subscription: String
}
],
responseStatus:
{
statusCode: 0,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}