| GET | /users | Get a list of users |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetUserResponse:
# @ApiMember(Description="Unique Identifier of a User", IsRequired=true)
user_id: Optional[str] = None
"""
Unique Identifier of a User
"""
# @ApiMember(Description="User's Email address", IsRequired=true)
email_address: Optional[str] = None
"""
User's Email address
"""
# @ApiMember(Description="First Name", IsRequired=true)
first_name: Optional[str] = None
"""
First Name
"""
# @ApiMember(Description="Last Name", IsRequired=true)
last_name: Optional[str] = None
"""
Last Name
"""
# @ApiMember(Description="User's Password Expiration Date")
password_expiration_date: Optional[str] = None
"""
User's Password Expiration Date
"""
# @ApiMember(Description="If the User must change the password", IsRequired=true)
password_must_be_changed: bool = False
"""
If the User must change the password
"""
# @ApiMember(Description="User Type of the User", IsRequired=true)
user_type: Optional[str] = None
"""
User Type of the User
"""
# @ApiMember(Description="Culture ID of the User", IsRequired=true)
culture: Optional[str] = None
"""
Culture ID of the User
"""
# @ApiMember(Description="If the User account is locked", IsRequired=true)
account_locked: bool = False
"""
If the User account is locked
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetUsersResponse:
# @ApiMember(Description="Index of the result set returnedr", IsRequired=true)
page: int = 0
"""
Index of the result set returnedr
"""
# @ApiMember(Description="Size of the result set returned", IsRequired=true)
items: int = 0
"""
Size of the result set returned
"""
# @ApiMember(Description="Total amount of pages / result sets", IsRequired=true)
total_pages: int = 0
"""
Total amount of pages / result sets
"""
# @ApiMember(Description="Total amount of results", IsRequired=true)
total_results: int = 0
"""
Total amount of results
"""
# @ApiMember(Description="List of Users", IsRequired=true)
elements: Optional[List[GetUserResponse]] = None
"""
List of Users
"""
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetUsers(IPagedRequest):
# @ApiMember(Description="Index of the result set returned", IsRequired=true)
page: int = 0
"""
Index of the result set returned
"""
# @ApiMember(Description="Size of the result set returned", IsRequired=true)
items: int = 0
"""
Size of the result set returned
"""
# @ApiMember(Description="Omit precise record count - save on performance")
no_count: bool = False
"""
Omit precise record count - save on performance
"""
# @ApiMember(Description="Sorting expression")
sort_by: Optional[str] = None
"""
Sorting expression
"""
# @ApiMember(Description="Email address")
email: Optional[str] = None
"""
Email address
"""
# @ApiMember(Description="Also retreive users with locked account")
include_locked_accounts: Optional[bool] = None
"""
Also retreive users with locked account
"""
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /users HTTP/1.1 Host: dev-api-booster.richemont.com Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"page":0,"items":0,"totalPages":0,"totalResults":0}