Requires any of the roles: | SystemAdministrator, Manager |
POST | /users |
---|
namespace Voice.Api.Authentication
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
type DashboardPermissions =
| ViewFiles = 0
| ViewNotifications = 1
| ViewSessions = 2
| ViewEndpoints = 3
| ViewReports = 4
| ViewCustomers = 5
| ViewFlows = 6
[<AllowNullLiteral>]
type UserInfo() =
member val Id:String = null with get,set
member val IsAuthenticated:Boolean = new Boolean() with get,set
member val FirstName:String = null with get,set
member val LastName:String = null with get,set
member val Name:String = null with get,set
member val AvatarUrl:String = null with get,set
member val EmailAddress:String = null with get,set
member val Roles:ResizeArray<String> = null with get,set
member val AccountIds:ResizeArray<String> = null with get,set
member val AccountNames:ResizeArray<String> = null with get,set
member val DashboardPermissions:ResizeArray<DashboardPermissions> = null with get,set
///<summary>
///Creates a new login with the specified email address and password. Note: Any given email address can only exist once in the entire Evo Voice system.
///</summary>
[<Api(Description="Creates a new login with the specified email address and password. Note: Any given email address can only exist once in the entire Evo Voice system.")>]
[<AllowNullLiteral>]
type NewUser() =
interface IPost
///<summary>
///The account ID you want to create this user under
///</summary>
[<ApiMember(Description="The account ID you want to create this user under")>]
member val AccountId:String = null with get,set
///<summary>
///The email address of the new user
///</summary>
[<ApiMember(Description="The email address of the new user")>]
member val EmailAddress:String = null with get,set
///<summary>
///The user's first name
///</summary>
[<ApiMember(Description="The user's first name")>]
member val FirstName:String = null with get,set
///<summary>
///The user's last name
///</summary>
[<ApiMember(Description="The user's last name")>]
member val LastName:String = null with get,set
///<summary>
///The password for the new user
///</summary>
[<ApiMember(Description="The password for the new user")>]
member val Password:String = null with get,set
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /users HTTP/1.1
Host: team.evovoice.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<NewUser xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Authentication">
<AccountId>String</AccountId>
<EmailAddress>String</EmailAddress>
<FirstName>String</FirstName>
<LastName>String</LastName>
<Password>String</Password>
</NewUser>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <UserInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Authentication"> <AccountIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </AccountIds> <AccountNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </AccountNames> <AvatarUrl>String</AvatarUrl> <DashboardPermissions> <DashboardPermissions>ViewFiles</DashboardPermissions> </DashboardPermissions> <EmailAddress>String</EmailAddress> <FirstName>String</FirstName> <Id>String</Id> <IsAuthenticated>false</IsAuthenticated> <LastName>String</LastName> <Name>String</Name> <Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d2p1:string>String</d2p1:string> </Roles> </UserInfo>