Miridia
Portal
Administration

Employees

Endpoints for a business to manage their employees: invite, verify, remove, update roles.

Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.

MethodPathOperation
GET/api/employeesGet employees
POST/api/employee/{employeeId}/verifyVerify employee
GET/api/employee/{employeeId}Get employee
DELETE/api/employee/{employeeId}Delete employee
PUT/api/employee/{userId}Update employee roles
POST/api/employee/inviteInvite team member
DELETE/api/employee/{employeeId}/remove/{businessId}Remove team member

Get employees

GET/api/employees

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles view permission.

Response

200. Returns a PagedResult envelope. Each item in data is PrimitiveUserAccountResponse.

Request
curl -X GET "https://api.miridia.io/api/employees" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "count": 0,
  "totalCount": 0,
  "page": 0,
  "finalPage": 0,
  "pageSize": 0,
  "hasMore": true,
  "statusCode": "OK",
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "title": "string",
      "firstName": "string",
      "lastName": "string",
      "email": "string",
      "phoneNumber": "string",
      "accountStatus": "Active",
      "acceptedTerms": true,
      "isVerified": true,
      "dateVerified": "2026-09-29T08:00:00Z",
      "address": {},
      "driver": {},
      "roles": [
        {}
      ],
      "userBusinesses": [
        {}
      ]
    }
  ],
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ]
}

Verify employee

POST/api/employee/{employeeId}/verify

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles modify permission.

Parameters

NameInTypeRequiredDescription
employeeIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X POST "https://api.miridia.io/api/employee/{employeeId}/verify" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Get employee

GET/api/employee/{employeeId}

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles view permission.

Parameters

NameInTypeRequiredDescription
employeeIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is PrimitiveUserAccountResponse.

Request
curl -X GET "https://api.miridia.io/api/employee/{employeeId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"

Delete employee

DELETE/api/employee/{employeeId}

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles delete permission.

Parameters

NameInTypeRequiredDescription
employeeIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X DELETE "https://api.miridia.io/api/employee/{employeeId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Update employee roles

PUT/api/employee/{userId}

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles modify permission.

Parameters

NameInTypeRequiredDescription
userIdpathstring (uuid)Yes

Request body

Send JSON with the shape UpdateEmployeeRolesCommand.

FieldTypeRequiredDescription
roleIdsstring (uuid)[]Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X PUT "https://api.miridia.io/api/employee/{userId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "roleIds": [
    "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  ]
}'
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Invite team member

POST/api/employee/invite

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles modify permission.

Request body

Send JSON with the shape InviteTeamMemberCommand.

FieldTypeRequiredDescription
emailstring (email)Yes
rolesenum UserRoles[]NoOne of: Sudo, Administrator, Manager, Operations, Driver, Accountant, General, Support, Unassigned.

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X POST "https://api.miridia.io/api/employee/invite" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "name@example.com",
  "roles": [
    "Sudo"
  ]
}'
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Remove team member

DELETE/api/employee/{employeeId}/remove/{businessId}

Access. Send a bearer token or an API key. The caller needs the TeamAndRoles modify permission.

Parameters

NameInTypeRequiredDescription
employeeIdpathstring (uuid)Yes
businessIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X DELETE "https://api.miridia.io/api/employee/{employeeId}/remove/{businessId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "message": "string",
  "messages": [
    {
      "title": "string",
      "message": "string",
      "level": "Standard",
      "icon": "SyncAlert",
      "code": "string"
    }
  ],
  "data": true,
  "statusCode": "OK",
  "canRead": true,
  "canEdit": true,
  "canDelete": true
}

Models

The operations on this page use these object types. Select a type to see its fields.

AddressResponse
FieldTypeDescription
idstring (uuid)
placeIdstring
namestring
websitestring
fullAddressstring
streetstring
suburbstring
citystring
countrystring
postcodestring
unitstring
numberstring
provincestring
latitudenumber (double)
longitudenumber (double)
DriverResponse
FieldTypeDescription
idstring (uuid)
idNumberstring
licenseNumberstring
licenseTypeIdinteger (int32)
licenseRenewalDatestring (date-time)
licenseIssuedDatestring (date-time)
userDriverUserResponse
DriverUserResponse
FieldTypeDescription
idstring (uuid)
firstNamestring
lastNamestring
emailstring
phoneNumberstring
PrimitiveUserAccountResponse
FieldTypeDescription
idstring (uuid)
titlestring
firstNamestring
lastNamestring
emailstring
phoneNumberstring
accountStatusenum UserAccountStatusOne of: Active, Suspended.
acceptedTermsboolean
isVerifiedboolean
dateVerifiedstring (date-time)
addressAddressResponse
driverDriverResponse
rolesRoleResponse[]
userBusinessesUserBusinessResponse[]
RoleResponse
FieldTypeDescription
idstring (uuid)
titlestring
descriptionstring
roleTypeenum RoleTypeOne of: Default, Remote, Custom.
scopeenum RoleScopeOne of: Branch, Franchise.
isSystemboolean
permissionsobject
peopleCountinteger (int32)
UserBusinessResponse
FieldTypeDescription
businessIdstring (uuid)
displayNamestring
isDefaultboolean
currencyCodeenum CurrencyCodeOne of: Invalid, Eur, Usd, Gbp, Zar, Zmw.
countryCodeenum CountryCodeOne of: Invalid, Global, FallbackZa, Be, De, Lu, Nl, Za, Zw, Gb, Us, Zm.