openapi: 3.2.0 info: title: Beacon Rest Services Create User API description: 'A combination of all methods in the beacon-api [ BASE URL: https://beaconproplus.com Beacon ProPlus Version 1: https://beaconproplus.com/v1/rest/com/becn Version 2: https://beaconproplus.com/v2/rest/com/becn Version 3: https://beaconproplus.com/v3/rest/com/becn Beacon Stack [ BASE URL: https://beacon-api-x7xzzdp35a-uk.a.run.app Version 1: https://beacon-api-x7xzzdp35a-uk.a.run.app/v1/rest/com/becn/ Version 2: https://beacon-api-x7xzzdp35a-uk.a.run.app/v2/rest/com/becn/ Version 3…' version: '1.0' contact: {} servers: [] tags: - name: CreateUser paths: /createUser: post: operationId: V2Controller_createUser summary: Creates a new user account description: 'Creates a new user account and assigns user permissions. Admin or Master Admin can use user templates to specify role permissions. If default role template is used, the user will receive default role permissions. If user role needs customized permissions, the “permissionValues” will is required to assign custom roles. currentTemplate enumeration "Default Role Template" "Customized Permission" any other string value When currentTemplate is "Default Role Template", will use the default role permission as user permission values When currentTemplate is "Customized Permission", the permissionValues field is required, and will use given "permissionValues" as user permission values When currentTemplate is any other string value, the permissionTemplate.templateId field is required, and will use the permissions of given permission template as user permission values status enumeration "Active" "InActive"' parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/createUserBody' responses: '200': description: successful operation

refer to the API Uniform Format dropdown above content: application/json: schema: $ref: '#/components/schemas/createUserResponse' '400': description: Bad Request, accountId is invalid. '401': description: Unauthorized, the authorization bearer token is invalid. '405': description: Method not allowed, the request method is not valid for this API or this API is not available. '500': description: Internal exception. tags: - CreateUser components: schemas: PermissionTemplate: type: object properties: name: type: string templateId: type: string permissions: type: array items: $ref: '#/components/schemas/Permission2' lastModifiedDate: type: string userEmail: type: string org: $ref: '#/components/schemas/Org' required: - name - templateId - permissions - lastModifiedDate - userEmail - org createUserResponse: type: object properties: userId: type: string required: - userId PermissionValues: type: object properties: aa: type: boolean bb: type: boolean cc: type: boolean required: - aa - bb - cc Address: type: object properties: postalCode: type: string state: type: string address1: type: string address2: type: string address3: type: string country: type: string city: type: string required: - postalCode - state - address1 - address2 - address3 - country - city Branch: type: object properties: address: $ref: '#/components/schemas/Address' branchNumber: type: string branchName: type: string branchPhone: type: string branchRegionId: type: string company: type: string companyName: type: string division: type: string divisionName: type: string market: type: string required: - address - branchNumber - branchName - branchPhone - branchRegionId - company - companyName - division - divisionName - market Role: type: object properties: id: type: string displayName: type: string permissions: type: array items: $ref: '#/components/schemas/Permission2' required: - id - displayName - permissions Account: type: object properties: accountName: type: string accountEnabled: type: boolean accountLegacyId: type: string accountViewPrices: type: boolean addCustomSteel: type: boolean rewardsEligible: type: boolean cashAccount: type: boolean isAccountClosed: type: boolean branch: $ref: '#/components/schemas/Branch' required: - accountName - accountEnabled - accountLegacyId - accountViewPrices - addCustomSteel - rewardsEligible - cashAccount - isAccountClosed - branch MasterAdmin: type: object properties: id: type: string firstName: type: string lastName: type: string title: type: string phone: type: string email: type: string role: $ref: '#/components/schemas/Role' accounts: type: array items: $ref: '#/components/schemas/Account' assignedAccounts: type: array items: $ref: '#/components/schemas/Account' lastActivity: type: string lastModifiedDate: type: string status: type: string permissionValues: $ref: '#/components/schemas/PermissionValues' active: type: boolean currentTemplate: type: string lastModifiedUserId: type: string userIsSelf: type: boolean internalUser: type: string userType: type: string rewardsEligible: type: boolean required: - id - firstName - lastName - title - phone - email - role - accounts - assignedAccounts - lastActivity - lastModifiedDate - status - permissionValues - active - currentTemplate - lastModifiedUserId - userIsSelf - internalUser - userType - rewardsEligible Permission2: type: object properties: name: type: string type: type: string permissions: type: array items: $ref: '#/components/schemas/Permission' isGroup: type: boolean required: - name - type - permissions - isGroup Permission: type: object properties: id: type: string key: type: string groupId: type: string name: type: string displayName: type: string type: type: string isAuthorised: type: boolean isDisabled: type: boolean isFixed: type: boolean required: - id - key - groupId - name - displayName - type - isAuthorised - isDisabled - isFixed Org: type: object properties: id: type: string name: type: string masterAdmin: $ref: '#/components/schemas/MasterAdmin' required: - id - name - masterAdmin createUserBody: type: object properties: firstName: type: string lastName: type: string title: type: string email: type: string phone: type: string role: $ref: '#/components/schemas/Role' accounts: type: array items: $ref: '#/components/schemas/Account' status: type: string currentTemplate: type: string permissionTemplate: $ref: '#/components/schemas/PermissionTemplate' permissionValues: $ref: '#/components/schemas/PermissionValues' required: - firstName - lastName - title - email - phone - role - accounts - status - currentTemplate - permissionTemplate - permissionValues