Evo Voice

<back to all web services

PatchUser

Update the specified login

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager
The following routes are available for this service:
PATCH/users/{userId}
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Voice.Api.Authentication

Namespace Global

    Namespace Voice.Api.Authentication

        Public Enum DashboardPermissions
            ViewFiles
            ViewNotifications
            ViewSessions
            ViewEndpoints
            ViewReports
            ViewCustomers
            ViewFlows
        End Enum

        '''<Summary>
        '''Update the specified login
        '''</Summary>
        <Api(Description:="Update the specified login")>
        Public Partial Class PatchUser
            Implements IPatch
            Public Sub New()
                AccountIds = New List(Of String)
                Roles = New List(Of String)
            End Sub

            '''<Summary>
            '''The account IDs that this user has access to
            '''</Summary>
            <ApiMember(Description:="The account IDs that this user has access to")>
            Public Overridable Property AccountIds As List(Of String)

            '''<Summary>
            '''The ID of the user
            '''</Summary>
            <ApiMember(Description:="The ID of the user")>
            Public Overridable Property UserId As String

            '''<Summary>
            '''The user's first name
            '''</Summary>
            <ApiMember(Description:="The user's first name")>
            Public Overridable Property FirstName As String

            '''<Summary>
            '''The user's last name
            '''</Summary>
            <ApiMember(Description:="The user's last name")>
            Public Overridable Property LastName As String

            '''<Summary>
            '''The new password for the user (leave null to not change)
            '''</Summary>
            <ApiMember(Description:="The new password for the user (leave null to not change)")>
            Public Overridable Property NewPassword As String

            '''<Summary>
            '''The roles to associate with the login. Can only specify if system admin
            '''</Summary>
            <ApiMember(Description:="The roles to associate with the login. Can only specify if system admin")>
            Public Overridable Property Roles As List(Of String)
        End Class

        Public Partial Class UserInfo
            Public Sub New()
                Roles = New List(Of String)
                AccountIds = New List(Of String)
                AccountNames = New List(Of String)
                DashboardPermissions = New List(Of DashboardPermissions)
            End Sub

            Public Overridable Property Id As String
            Public Overridable Property IsAuthenticated As Boolean
            Public Overridable Property FirstName As String
            Public Overridable Property LastName As String
            Public Overridable Property Name As String
            Public Overridable Property AvatarUrl As String
            Public Overridable Property EmailAddress As String
            Public Overridable Property Roles As List(Of String)
            Public Overridable Property AccountIds As List(Of String)
            Public Overridable Property AccountNames As List(Of String)
            Public Overridable Property DashboardPermissions As List(Of DashboardPermissions)
        End Class
    End Namespace
End Namespace

VB.NET PatchUser DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PATCH /users/{userId} HTTP/1.1 
Host: evovoice.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	accountIds: 
	[
		String
	],
	userId: String,
	firstName: String,
	lastName: String,
	newPassword: String,
	roles: 
	[
		String
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	isAuthenticated: False,
	firstName: String,
	lastName: String,
	name: String,
	avatarUrl: String,
	emailAddress: String,
	roles: 
	[
		String
	],
	accountIds: 
	[
		String
	],
	accountNames: 
	[
		String
	],
	dashboardPermissions: 
	[
		ViewFiles
	]
}