Invendor Users API
The Users API from Invendor — 14 operation(s) for users.
The Users API from Invendor — 14 operation(s) for users.
openapi: 3.0.1
info:
title: IO.Common Accounts Users API
version: '1.0'
security:
- OAuth2: []
tags:
- name: Users
paths:
/v1/Users/info:
get:
tags:
- Users
summary: Returns user info of a current user (authenticated)
operationId: Get UserInfo
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserInfoResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users:
get:
tags:
- Users
summary: Returns all users based on the request
description: 'Sortable columns: id, username, firstName, lastName, fullName, profileName, email.'
operationId: Users list
parameters:
- name: ShowOnlyNotConfirmed
in: query
schema:
type: boolean
- name: Filter
in: query
schema:
type: string
- name: Page
in: query
schema:
type: integer
format: int32
- name: PageSize
in: query
schema:
type: integer
format: int32
- name: SortColumn
in: query
schema:
type: string
- name: SortOrder
in: query
schema:
type: string
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponsePagedResult'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
post:
tags:
- Users
summary: Creates a new user
operationId: Create user
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateUserRequest'
application/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateUserRequest'
text/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateUserRequest'
application/*+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateUserRequest'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/Int32ResourceCreatedResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/{userId}:
get:
tags:
- Users
summary: Retruns user details by id
operationId: Get user details by userid
parameters:
- name: userId
in: path
description: ''
required: true
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
put:
tags:
- Users
summary: Update user details
operationId: Update user
parameters:
- name: userId
in: path
description: ''
required: true
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUserDetailsRequest'
application/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUserDetailsRequest'
text/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUserDetailsRequest'
application/*+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUserDetailsRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
delete:
tags:
- Users
summary: Delete user
operationId: Delete user
parameters:
- name: userId
in: path
description: ''
required: true
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/{username}:
get:
tags:
- Users
summary: Returns user details by username
operationId: Get user details by username
parameters:
- name: username
in: path
description: ''
required: true
schema:
type: string
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetailsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/properties:
get:
tags:
- Users
summary: Returns the list of all the properties added to the user groups
operationId: Get all user properties
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/definedProperties:
get:
tags:
- Users
summary: Get the defined properties for users
operationId: Get defined properties for users
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetDefinedPropertyParametersResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
post:
tags:
- Users
summary: Create new user property with parameters
operationId: Create user defined property with parameters
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
application/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
text/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
application/*+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/CreateDefinedPropertyParametersRequest'
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/definedProperties/{id}:
put:
tags:
- Users
summary: Update existing user property with parameters
operationId: Update user defined property with parameters
parameters:
- name: id
in: path
description: Property parameter Id
required: true
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
application/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
text/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
application/*+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateDefinedPropertyParametersRequest'
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
delete:
tags:
- Users
summary: Delete existing user property with parameters
operationId: Delete user defined propety with parameters
parameters:
- name: id
in: path
description: Property parameter Id
required: true
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/definedProperties/bulk:
post:
tags:
- Users
summary: Bulk upsert/delete user properties with parameters
operationId: Create or update user defined propeties with parameters
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
application/json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
text/json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
application/*+json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/BulkUpsertDefinedPropertyParametersRequest'
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/change-password:
post:
tags:
- Users
summary: Change user password
operationId: Change user password
parameters:
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/ChangeUserPasswordRequest'
application/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/ChangeUserPasswordRequest'
text/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/ChangeUserPasswordRequest'
application/*+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/ChangeUserPasswordRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'422':
description: Client Error
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/{userId}/nfcid:
post:
tags:
- Users
summary: Create or update user NFCID. (This operation allows to change users "OWN" NFCID)
operationId: Create or update users NFCID
parameters:
- name: userId
in: path
description: User id
required: true
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: Request DTO
content:
application/json-patch+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUsersNFCIDRequest'
application/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUsersNFCIDRequest'
text/json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUsersNFCIDRequest'
application/*+json; x-api-version=1.0:
schema:
$ref: '#/components/schemas/UpdateUsersNFCIDRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/{userId}/reset-mfa:
post:
tags:
- Users
summary: Reset MFA, User can reconfigure new authenticator app
operationId: User can reconfigure new authenticator
parameters:
- name: userId
in: path
description: Identity user id
required: true
schema:
type: string
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/bulk:
post:
tags:
- Users
summary: Bulk insert group users
operationId: Bulk insert users
parameters:
- name: groupId
in: query
description: ''
schema:
type: integer
format: int32
- name: Account
in: query
description: Account
schema:
title: Account
type: int
requestBody:
description: ''
content:
application/json-patch+json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/CreateUserRequest'
application/json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/CreateUserRequest'
text/json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/CreateUserRequest'
application/*+json; x-api-version=1.0:
schema:
type: array
items:
$ref: '#/components/schemas/CreateUserRequest'
responses:
'204':
description: No Content
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/v1/Users/{userId}/password-reset-email:
post:
tags:
- Users
summary: Generate a user password reset link and send an email
parameters:
- name: userId
in: path
description: User ID
required: true
schema:
type: integer
format: int32
- name: redirectUrl
in: query
description: Optional redirect URL after password reset (defaults to Portal)
schema:
type: string
- name: Account
in: query
description: Account
schema:
title: Account
type: int
responses:
'200':
description: Success
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ApiErrorResponse'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.common
/api/v1/Users/all:
get:
tags:
- Users
summary: Get all tenant users
parameters:
- name: AccountId
in: query
schema:
type: integer
format: int32
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UsersDTO'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- OAuth2:
- io.reporting
components:
schemas:
CreateDefinedPropertyParametersRequest:
type: object
properties:
key:
type: string
nullable: true
showOnReports:
type: boolean
useAsFilter:
type: boolean
isRequired:
type: boolean
accountId:
type: integer
format: int32
nullable: true
additionalProperties: false
UpdateUserDetailsRequest:
type: object
properties:
profileId:
type: integer
format: int32
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
email:
type: string
nullable: true
roles:
type: array
items:
type: string
nullable: true
pin:
type: string
nullable: true
ioid:
type: string
nullable: true
deprecated: true
nfcid:
type: string
nullable: true
twoFactorEnabled:
type: boolean
properties:
type: object
additionalProperties:
type: string
nullable: true
mfaEnabled:
type: boolean
nullable: true
isDashboardEnabled:
type: boolean
additionalProperties: false
ChangeUserPasswordRequest:
type: object
properties:
password:
type: string
nullable: true
additionalProperties: false
UserModuleListItem:
type: object
properties:
module:
type: string
nullable: true
permissions:
type: array
items:
type: string
nullable: true
additionalProperties: false
UserDetailsResponse:
type: object
properties:
id:
type: integer
format: int32
username:
type: string
nullable: true
accountId:
type: integer
format: int32
profileId:
type: integer
format: int32
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
fullName:
type: string
nullable: true
readOnly: true
profileName:
type: string
nullable: true
identityId:
type: string
nullable: true
nfcid:
type: string
nullable: true
pin:
type: string
nullable: true
simpleUser:
type: boolean
isDashboardEnabled:
type: boolean
email:
type: string
nullable: true
emailConfirmed:
type: boolean
mfaEnabled:
type: boolean
ioid:
type: string
nullable: true
vendor:
type: string
nullable: true
roles:
uniqueItems: true
type: array
items:
type: string
nullable: true
properties:
type: object
additionalProperties:
type: string
nullable: true
definedProperties:
type: object
additionalProperties:
$ref: '#/components/schemas/DefinedPropertyValueDTO'
nullable: true
additionalProperties: false
UserInfoResponse:
type: object
properties:
id:
type: integer
format: int32
username:
type: string
nullable: true
accountId:
type: integer
format: int32
profileId:
type: integer
format: int32
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
fullName:
type: string
nullable: true
readOnly: true
profileName:
type: string
nullable: true
identityId:
type: string
nullable: true
nfcid:
type: string
nullable: true
pin:
type: string
nullable: true
simpleUser:
type: boolean
isDashboardEnabled:
type: boolean
email:
type: string
nullable: true
emailConfirmed:
type: boolean
mfaEnabled:
type: boolean
accounts:
type: array
items:
$ref: '#/components/schemas/UserProfileAccountResponse'
nullable: true
services:
type: array
items:
$ref: '#/components/schemas/UserServiceSubscriptions'
nullable: true
modules:
type: array
items:
$ref: '#/components/schemas/UserModuleListItem'
nullable: true
roles:
uniqueItems: true
type: array
items:
type: string
nullable: true
features:
type: array
items:
$ref: '#/components/schemas/FeatureResponse'
nullable: true
tenantId:
type: string
format: uuid
additionalProperties: false
CreateUserRequest:
required:
- firstName
- lastName
- profileId
type: object
properties:
username:
type: string
nullable: true
email:
type: string
nullable: true
profileId:
type: integer
format: int32
password:
type: string
nullable: true
firstName:
minLength: 1
type: string
lastName:
minLength: 1
type: string
roles:
type: array
items:
type: string
nullable: true
pin:
type: string
nullable: true
ioid:
type: string
nullable: true
nfcid:
type: string
nullable: true
twoFactorEnabled:
type: boolean
properties:
type: object
additionalProperties:
type: string
nullable: true
nullable: true
additionalProperties: false
GetDefinedPropertyParametersResponse:
type: object
properties:
id:
type: integer
format: int32
affinity:
$ref: '#/components/schemas/ExtendedPropertyAffinity'
key:
type: string
nullable: true
showOnReports:
type: boolean
useAsFilter:
type: boolean
isRequired:
type: boolean
accountId:
type: integer
format: int32
nullable: true
additionalProperties: false
UserResponse:
type: object
properties:
id:
type: integer
format: int32
username:
type: string
nullable: true
accountId:
type: integer
format: int32
profileId:
type: integer
format: int32
firstName:
type: string
nullable: true
lastName:
type: string
nullable: true
fullName:
type: string
nullable: true
readOnly: true
profileName:
type: string
nullable: true
identityId:
type: string
nullable: true
nfcid:
type: string
nullable: true
pin:
type: string
nullable: true
simpleUser:
type: boolean
isDashboardEnabled:
type: boolean
email:
type: string
nullable: true
emailConfirmed:
type: boolean
mfaEnabled:
type: boolean
additionalProperties: false
PropertyDTO:
type: object
properties:
key:
type: string
nullable: true
value:
type: string
nullable: true
additionalProperties: false
Error:
type: object
properties:
code:
type: string
nullable: true
message:
type: string
nullable: true
additionalProperties: false
UserServiceSubscriptions:
type: object
properties:
serviceCode:
type: string
nullable: true
serviceId:
type: string
format: uuid
subscriptionId:
type: string
format: uuid
additionalProperties: false
UserResponsePagedResult:
type: object
properties:
pageSize:
type: integer
format: int32
readOnly: true
page:
type: integer
format: int32
readOnly: true
totalCount:
type: integer
format: int32
readOnly: true
filteredCount:
type: integer
format: int32
readOnly: true
data:
type: array
items:
$ref: '#/components/schemas/UserResponse'
nullable: true
readOnly: true
additionalProperties: false
UpdateDefinedPropertyParametersRequest:
type: object
properties:
id:
type: integer
format: int32
key:
type: string
nullable: true
showOnReports:
type: boolean
useAsFilter:
type: boolean
isRequired:
type: boolean
accountId:
type: integer
format: int32
nullable: true
additionalProperties: false
Int32ResourceCreatedResponse:
type: object
properties:
id:
type: integer
format: int32
additiona
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/invendor/refs/heads/main/openapi/invendor-users-api-openapi.yml