Requires the role: | manager |
PUT,PATCH | /persons/{Id} |
---|
Imports System
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports Infrastructure.Api.Interfaces.ServiceOperations.Persons
Imports Infrastructure.Api.Interfaces.ServiceOperations
Imports Application.Interfaces.Resources
Namespace Global
Namespace Application.Interfaces.Resources
Public Partial Class Person
Implements IIdentifiableResource
Public Overridable Property Name As UserAccountName
Public Overridable Property DisplayName As String
Public Overridable Property Email As String
Public Overridable Property PhoneNumber As String
Public Overridable Property Timezone As String
Public Overridable Property DefaultOrganisationId As String
Public Overridable Property Id As String
End Class
Public Partial Class UserAccountName
Public Overridable Property FirstName As String
Public Overridable Property LastName As String
End Class
End Namespace
Namespace Infrastructure.Api.Interfaces.ServiceOperations
Public Partial Class PutPatchOperationUnTenanted(Of TResponse)
Implements IPatch
Implements IPut
End Class
End Namespace
Namespace Infrastructure.Api.Interfaces.ServiceOperations.Persons
Public Partial Class UpdatePersonRequest
Inherits PutPatchOperationUnTenanted(Of UpdatePersonResponse)
Public Overridable Property Id As String
Public Overridable Property PhoneNumber As String
Public Overridable Property Timezone As String
End Class
Public Partial Class UpdatePersonResponse
Public Overridable Property ResponseStatus As ResponseStatus
Public Overridable Property Person As Person
End Class
End Namespace
End Namespace
VB.NET UpdatePersonRequest DTOs
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.
PUT /persons/{Id} HTTP/1.1
Host: staging-api.billiecart.com.au
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String,
phoneNumber: String,
timezone: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } }, person: { name: { firstName: String, lastName: String }, displayName: String, email: String, phoneNumber: String, timezone: String, defaultOrganisationId: String, id: String } }