POST | /signup/create_user |
---|
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
# module ConsumerApi
class Sex(str, Enum):
MALE = 'Male'
FEMALE = 'Female'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DateOfBirth:
year: int = 0
month: int = 0
day_of_month: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UserAddress:
street_name: Optional[str] = None
street_number: Optional[str] = None
postal_code: Optional[str] = None
region: Optional[str] = None
country_code: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomeLocation:
address: Optional[UserAddress] = None
latitude: float = 0.0
longitude: float = 0.0
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.
POST /signup/create_user HTTP/1.1
Host: unstable-consumer-api.brovs.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
token: String,
firstName: String,
lastName: String,
sex: Male,
dateOfBirth:
{
year: 0,
month: 0,
dayOfMonth: 0
},
email: String,
password: String,
passwordConfirmation: String,
home:
{
address:
{
streetName: String,
streetNumber: String,
postalCode: String,
region: String,
countryCode: String
},
latitude: 0,
longitude: 0
},
acceptTermsOfService: False,
referFriendToken: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { sentVerificationEmailWithRequestId: String, passwordScore: 0, userGuid: 00000000-0000-0000-0000-000000000000, referFriendAwarded: False }