Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
POST | /administrators/ | Add a new administrator to your company | If you want to add a new administrator to your company. A generated password will be sent to the user. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
@ApiResponse(Description="Returned if there is a validation error on the input parameters", StatusCode=400)
// @ApiResponse(Description="Returned if the current user is not allowed to perform the action", StatusCode=401)
@ValidateRequest(Validator="IsAuthenticated")
open class CreateCompanyUser : ICompany
{
/**
* Enter the company and id for the customer, if blank company id and you are an admin, your company id will be used.
*/
@ApiMember(Description="Enter the company and id for the customer, if blank company id and you are an admin, your company id will be used.", ParameterType="query")
var CompanyId:UUID? = null
@ApiMember(IsRequired=true)
var Firstname:String? = null
@ApiMember(IsRequired=true)
var Lastname:String? = null
@ApiMember(IsRequired=true)
var Phone:String? = null
@ApiMember(IsRequired=true)
var Email:String? = null
@ApiMember()
var ResourceId:Int? = null
@ApiMember()
var Roles:ArrayList<AddCompanyUserRolesResponse> = ArrayList<AddCompanyUserRolesResponse>()
@ApiMember()
var WorkerId:Int? = null
}
open class AddCompanyUserRolesResponse
{
var RoleId:UUID? = null
}
open class CompanyUserQueryResponse
{
var Id:UUID? = null
var CompanyId:UUID? = null
var Firstname:String? = null
var Lastname:String? = null
var Email:String? = null
var Phone:String? = null
var WorkerId:String? = null
var ResourceId:Int? = null
/**
* The resource information connected to the administrator.
*/
@ApiMember(Description="The resource information connected to the administrator.")
var Resource:CompanyUserResource? = null
/**
* The roles that are connected to the administrator.
*/
@ApiMember(Description="The roles that are connected to the administrator.")
var Roles:ArrayList<CompanyUserRolesQueryResponse> = ArrayList<CompanyUserRolesQueryResponse>()
var Active:Boolean? = null
var Created:Date? = null
var Updated:Date? = null
}
open class CompanyUserResource
{
/**
* The resource id
*/
@ApiMember(Description="The resource id")
var Id:Int? = null
/**
* The resource name
*/
@ApiMember(Description="The resource name")
var Name:String? = null
/**
* The resource status
*/
@ApiMember(Description="The resource status")
var Active:Boolean? = null
/**
* The resource description
*/
@ApiMember(Description="The resource description")
var Description:String? = null
/**
* The resource email
*/
@ApiMember(Description="The resource email")
var Email:String? = null
/**
* The resource phone
*/
@ApiMember(Description="The resource phone")
var Phone:String? = null
/**
* The resource color
*/
@ApiMember(Description="The resource color")
var Color:String? = null
/**
* The resource image
*/
@ApiMember(Description="The resource image")
var ImageUrl:Uri? = null
/**
* If the resource want to receive email notifications
*/
@ApiMember(Description="If the resource want to receive email notifications")
var EmailNotification:Boolean? = null
/**
* If the resource want to receive sms notifications
*/
@ApiMember(Description="If the resource want to receive sms notifications")
var SMSNotification:Boolean? = null
/**
* If the resource want to receive email reminders
*/
@ApiMember(Description="If the resource want to receive email reminders")
var EmailReminder:Boolean? = null
/**
* If the resource want to receive sms reminders
*/
@ApiMember(Description="If the resource want to receive sms reminders")
var SMSReminder:Boolean? = null
}
open class CompanyUserRolesQueryResponse
{
var RoleId:UUID? = null
var Name:String? = null
var Description:String? = null
}
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 /administrators/ HTTP/1.1
Host: api.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Firstname: String,
Lastname: String,
Phone: String,
Email: String,
ResourceId: 0,
Roles:
[
{
}
],
WorkerId: 0
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Firstname: String, Lastname: String, Email: String, Phone: String, WorkerId: String, ResourceId: 0, Resource: { Id: 0, Name: String, Active: False, Description: String, Email: String, Phone: String, Color: String, EmailNotification: False, SMSNotification: False, EmailReminder: False, SMSReminder: False }, Roles: [ { Name: String, Description: String } ], Active: False }