Mapi - Publish/Subscribe MQTT API for EVVA Xesar System 1.54.0

Introduction

What is PubSub?

Publish/subscribe messaging, is a form of asynchronous machine-2-machine (M2M) communication that can be used in event driven domains.

The main elements in a pub/sub messaging model are:

  • topics: identify an actual communication channel
  • messages: the content that is transmitted on a topic
  • publishers: generate and publish messages to a topic
  • subscribers: subscribe to a topic to receive messages
  • broker: brings publishers and subscribers together by providing the mechanism for receiving messages from publishers and forwarding messages to subscribers for the respective topics.
  • clients: are applications that connect to brokers and can be publishers and/or subscribers.

Any message published to a topic is immediately received by all the subscribers to the topic. A publisher doesn't need to know who is going to receive the messages that are sent and the subscribers don't know or need to know who sent the message.

The Pub/sub model allows a loose coupling between client applications in order to increase performance, reliability and scalability.

Intro PubSub

This Documentation was generated by asyncapi. The corresponding yaml file can be found here


Installation Information

The installation information is requested via REST API (/api/v1/user/installation-info). This endpoint returns details about the current system installation, including environment information, and relevant versioning details.

Example:

{
    "name": "Xesar",
    "hostIpAddresses": [ 
        "192.168.0.1"
    ],
    "port": 8080,
    "codingStations": [
        {
            "id": "5dc9c6ba-cfe6-4702-832b-a1e5f5133f0b",
            "name": "Omnikey 4521"
        }
    ],
    "xesarVersion": "3.3.100",
    "mqttApiVersion": "1.53.0"
}

Xesar 3 PubSub Interface

Xesar 3 comes with a broker and the backend publishes and subscribes various topics. A summary of these topics is presented in the following tables:

Topic What Description XS3 Server is Session
xs3/1/ces/{EventName} System Events Emits system events that are generated by commands from the interfaces (M2M or Human UI) Publisher NOT required
xs3/1/ase Access Control System Events Emits access control system events that are generated by the EVVA access control components when they are collected by the system through the maintenance or the virtual network. Publisher NOT required
xs3/1/cmd/{CommandName} Command Requests Receives commands to enable uses cases on the M2M interface Subscriber Required
xs3/1/q Query Requests Receives queries for data collected in the system. Subscriber Required
xs3/1/{User ID}/q Query Results Emits answers to previously received queries. Publisher NOT Required
xs3/1/{User ID}/err User-specific error topic Emits errors for previously received queries or commands. Publisher NOT Required
xs3/1/mss/ces/{EventName} Self Service Mode Events Emits events that are used to support Smartphones as identification media using the Xesar mobile SDK Publisher NOT required

Supported Quality of Service (QoS) Levels

Currently, Xesar 3 supports QoS 0. This means that in the event of a service interruption, you may need to query Xesar again to capture any changes that occurred during the downtime.


Xesar 3 Events

Xesar 3 will emit different types of events:

  1. System Events: these events are caused by the administration of the system through the human and M2M interfaces. This is also called journal.
  2. Access Protocol Events: these events are registered at EVVA components and collected by maintenance and virtual network.
  3. Self Service Mode: these events are used to manage Smartphones as identification media using the Xesar mobile SDK.

PubSub Events


Connections

Xesar 3 is an access control system, thus security is relevant in all aspects of the system. All clients have to provide authentication and authorization for operations that request data or change the system state.

In order to establish a connection to the included broker, each client requires a certificate for unique identification and authentication. The package with the certificate can be obtained through the user interface.

PubSub Session PubSub Session End

The broker address is included in the downloaded package, the corresponding port will depend on your system setup, the default TLS port is 1883.

You will need to handle two key=value pairs on your own:

username={Your username}
password={Your user's password}

Obtaining MQTT Access Configuration via the REST API

You can also obtain the certificates and authorization token through the REST API.

For a User

The following example shows how to obtain the MQTT access configuration using curl and jq and can be easily implemented in any programming language that supports HTTP requests and JSON parsing.

  • Obtaining the authorization token: POST /api/v1/login with Body: { "name": "username", "password": "password" }
  • Obtaining the MQTT access configuration: GET /api/v1/user/mqtt-configuration with the obtained token in the Authorization header.
# Using curl and jq - make sure you adjust the HOST, USERNAME and PASSWORD to your system

HOST="example.com"
USERNAME="foo"
PASSWORD="bar"

# Fetch an authorization token
TOKEN=$(curl -X POST "https://${HOST}/api/v1/login" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"name\": \"${USERNAME}\", \"password\": \"${PASSWORD}\"}" | jq -r '.token')

# Get the MQTT access configuration - this will return the MQTT broker address, port and authorization token as well as the certificate required to authenticate with the broker.
curl -X GET "https://${HOST}/api/v1/user/mqtt-configuration" -H "accept: application/json" -H "Authorization: Bearer ${TOKEN}" | jq

The response will contain the following information:

{
  // The Base64 encoded (PEM) certificate, certificate authority and key  
  "ca": "string (base64)", // The certificate authority
  "cert": "string (base64)", // The certificate
  "key": "string (base64)", // The private key
  // The MQTT connection properties
  "apiProperties": {
    "userId": "string (uuid)", // The user ID
    "brokerAddress": "string", // The broker address
    "brokerPort": integer, // The broker port
    "token": "string" // The publish authorization token
  }
}

For a Coding Station

It's also possible to obtain the MQTT access configuration for a coding station using the REST API. This enables the use of a Smartphone as a coding station in conjunction with the Xesar mobile SDK.

The endpoint and response has slightly different characteristics:

  • The format of the certificate data can be specified to be either PEM encoded via pem or as a PKCS#12 Keystore with p12 or p12legacy.
    • pem will return the certificate, certificate authority and key as separate strings.
    • p12 will return the certificate and key as a single PKCS#12 Keystore.
      • Private Key: Encrypted with AES-256-CBC
      • Certificate: Encrypted with AES-128-CBC
    • p12legacy will return the certificate and key as a single PKCS#12 Keystore using openssl1.1 legacy algorithms.
      • Private Key: Encrypted with TripleDES-CBC
      • Certificate: Encrypted with 40 bit RC2-CBC
  • The password for both the keystore and the private key in the case a PKCS#12 Keystore is returned is the same and can be found in the response.
  • Regardless of the format provided, the Keystore or certificate data will be Base64 encoded.

Using pem should be fine for most use-cases, p12 and p12legacy are provided for compatibility with mobile platforms that require a PKCS#12 Keystore.

# Using curl and jq - make sure you adjust the HOST, USERNAME and PASSWORD to your system
# and the FORMAT to either pem, p12 or p12legacy depending on your requirements
# and the CODING_STATION_ID to the ID of the coding station you want to obtain the configuration for

HOST="example.com"
USERNAME="foo"
PASSWORD="bar"
FORMAT="pem"
CODING_STATION_ID="12345678-1234-1234-1234-123456789012"

# Fetch an authorization token
TOKEN=$(curl -X POST "https://${HOST}/api/v1/login" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"name\": \"${USERNAME}\", \"password\": \"${PASSWORD}\"}" | jq -r '.token')

# Get the MQTT access configuration
curl -X GET "https://${HOST}/api/v1/coding-station/${CODING_STATION_ID}/config?format=${FORMAT}" -H "accept: application/json" -H "Authorization: Bearer ${TOKEN}" | jq

The response will have the following structure:

{
    "id": "string (UUID)", // The ID of the coding station
    "name": "string", // The name of the coding station
    "format": "string", // The format of the certificate data
    "broker": {
        "host": "string", // The broker address
        "port": integer, // The broker port
    },
    "pem": { // Not present if the format is not pem
        "ca": "string (base64)", // The certificate authority
        "cert": "string (base64)", // The certificate
        "key": "string (base64)", // The private key
    },
    "p12": { // Not present if the format is not p12
        "keystore": "string (base64)", // The PKCS#12 Keystore
        "pwd": "string" // The password for the PKCS#12 Keystore and private key
    },
    "p12legacy": { // Not present if the format is not p12legacy
        "keystore": "string (base64)", // The PKCS#12 Keystore
        "pwd": "string" // The password for the PKCS#12 Keystore and private key
    }
}

Session

Each client is bound to a specific user and the user can have authorizations through the groups with their respective permissions. Given that the broker does not know about the XS3 Server Client per design, authorization requires a session for the user.

Topic What Description XS3 Server is Session
xs3/1/cmd/Login Login requests Receives a login to establish a session Subscriber NOT required
xs3/1/{User ID}/LoggedIn Login response Emits session information upon successful login Publisher Required
xs3/1/cmd/Logout Logout requests Receives a logout command with a session token Publisher Required
xs3/1/ces/LoggedOut Logout responses Emits logout events happening in the system Publisher NOT Required

To establish a session a client connects to the broker and publishes a login message. If successful a session token is returned; if not, a system event is issued to notify about an authorized login attempt. The latter allows to observe the system and allows to take defensive security measures.

Session Lifecycle

Only one session token is ever valid. The token is valid indefinitely and only invalidated in the following cases:

  • A new Login is successful (via xs3/1/cmd/Login).
  • A Logout is successful (via xs3/1/cmd/Logout).
  • The user configuration is downloaded from the UI.
  • The user configuration is requested via REST API (/api/v1/user/mqtt-configuration).

image

To end a session a client sends a logout command. If the logout is successful, a corresponding system event is issued.

image


Access Protocol Events

All access protocol events are issued to a topic with the prefix xs3/1/ase. To allow easier handling, the events are additionally bundled into groups. Thus they can be subscribed separately or by groups. Subscriptions can be simplified by using single level (+) or multi-level (#) wildcard subscriptions. Please note, that the delivery of these event may happen with quite a delay (because events are picked up over time through maintenance tasks and identification media providing a virtual network).

The following table lists interesting events in the access control system:

Event Name Event Number (Hex) Event Number (Dec) Group
NORMAL_OPENING 0x0001 1 MediumEvents
EMERGENCY_OPENING 0x0002 2 MediumEvents
MANUAL_OPENING_STARTED 0x0003 3 MediumEvents
MANUAL_OPENING_FINISHED 0x0004 4 MediumEvents
MEDIA_RESTRICTED 0x0005 5 MediumEvents
PROLONGED_NORMAL_OPENING 0x0007 7 MediumEvents
PROLONGED_MASTER_KEY_OPENING 0x0008 8 MediumEvents
OPENING_MASTER_KEY_IGNORED_BLACKLIST 0x0009 9 MediumEvents
OPENING_MASTER_KEY_PROLONGED_IGNORED_BLACKLIST 0x000A 10 MediumEvents
KILL_MEDIUM 0x0401 1025 MediumEvents
TIMED_OPENING_STARTED 0x0101 257 EvvaComponent
TIMED_OPENING_FINISHED 0x0102 258 EvvaComponent
TIMED_OPENING_SKIPPED 0x0103 259 EvvaComponent
TIME_CHANGE_EXECUTED 0x0201 513 EvvaComponent
BATTERY_EMPTY 0x0B01 2817 EvvaComponent
FW_UPDATE_PERFORMED 0x0501 1281 MaintenanceComponent
PANIC_EXIT 0x0A01 2561 MaintenanceComponent
RTC_ERROR 0x0A02 2562 MaintenanceComponent
RTC_OFFSET 0xAB03 43779 AdministrationComponent

Queries

The interface allows to query information from the server.

It provides following resources and requires the given permissions:

Resource Description Item Permission List Permission
identification-media Provides data for identification media ViewMedium ViewAllIdentificationMedia
identification-media-access-data Provides access data for identification media ViewMedium ViewAllIdentificationMedia
authorization-profiles Provides data for authorization profiles ViewAuthorizationProfile ViewAllAuthorizationProfiles
access-protocol Provides access protocol entries ViewAccessProtocol ViewAccessProtocol
persons Provides data for people (holders of identification media) ViewAllPersons ViewAllPersons
installation-points Provides data for installation-points ViewInstallationPoint ViewAllInstallationPoints
zones Provides data for zones (sets of installation points) ViewZone ViewAllZones
evva-components Provides data for components ViewInstallationPoint ViewAllInstallationPoints
calendars Provides data for calendars in the system ViewCalendar ViewAllCalendars
office-modes Provides data for office-mode configuration ViewAllOfficeModes ViewAllOfficeModes
time-profiles Provides data for time profile configuration ViewTimeProfile ViewAllTimeProfiles

Publishing queries

To publish a query use the topic:

xs3/1/q

Following example shows the fields to be set for a valid query request (publish):

    {
        "requestId": "dbb19a4e-7b8a-4339-b14d-843b4c9a67f3",
        "token": "2610b015-4085-4b0e-a192-cc4c40442e84",
        "resource": "installation-points",
        "id": "1657d066-3cb0-4925-8c7d-7b7deba40a1f",
        "params": null
    }
  • requestId: is used as a reference value and is given in the returned query response so that the client can build a relation between a query request and the resulting response. This field is required. The requestId must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier). Please consult the documentation of your development language as UUID support is available in all major programming languages.
  • token: Required. This is the login token you receive after logging in via the LoginCommand. This is also a valid UUID.
  • resource: Required. The name of the entity you want to query (e.g. 'persons').
  • id: Optional. The id of a specific entity. This is again a valid UUID. If specified you get a single entity, otherwise you receive the list of all entities.
  • params: Optional. The api query parameters (see below)

Api query parameter

Structure of the optional params field. Example to get insecure installation points.

    {
        "pageOffset": 0,
        "pageLimit": 50,
        "sort": "name",
        "language": "de",
        "filters": [{
            "type": "eq",
            "field": "secure",
            "value": false
        }]
    }

Receiving the entity or list of entities

Api query response

After a query was successfully received, one of two situations can occur. A success is confirmed by publishing a query response to the query response topic:

xs3/1/<userId>/q

In case of an error, an error message is published to the error topic:

xs3/1/<userId>/err

The api query response structure is as follows:

    {
        "requestId": "dbb19a4e-7b8a-4339-b14d-843b4c9a67f3",
        "response": {}
    }
  • requestId: The above-mentioned reference value for the query.
  • response: The queried entity. Either a single entity depending on the resource type (e.g. an installation point) or a list of entities (e.g. all installation points).

Response structure when querying a list:

    {
        "data": [],
        "filterCount": 23,
        "totalCount": 50
    }
  • data: A list of single entities (see below).
  • filterCount: The count of entities, which matched the specified filters.
  • totalCount: The total count of entities.

Example for a single entity:

    {
       "id": "e65c5393-5493-45ac-948f-7a485fcf4493",
       "name": "A Einbauort",
       "description": "Haupteingang",
       "accessId": 10,
       "componentType": "Handle",
       "installationId": "A Einbauort",
       "installationType": "",
       // ... more properties
    }

Given that the system may hold a huge number of entries, there are two mechanisms that can be used to handle them:

  1. a paging mechanism that allows to obtain batches of entries
  2. a filter mechanism that allows to filter results at server side

These two mechanisms can and should be combined as necessary.

Entity Payload

The payload of the resource entities is documented in the query response topic.

Paging

image

This mechanism can be triggered by the specification of query parameters with a pageOffset and a pageLimit key:value pair. For easier handling, the recommended way is to retrieve a single entry, inspect the filterCount and then retrieve the corresponding amount of pages gradually.

Filtering

Queries can be made with a params object that contains a filter.

Query with Filters example

PUB: xs3/1/524e50d2-f54c-43d9-87cd-2e925c885d9f/q

{
    "requestId":"b57952fc-c167-4338-bc31-564ff5575a57",
    "token":"JDJhJDEwJGZ4RWpXM3liS1QuUVhadGF0b3ZzenVMaWthNVR1U0FzUnU1bnhuckNWZzNDSnMwSVF2U0dL",
    "resource":"access-protocol",
    "params": {
        "pageOffset":0,
        "pageLimit":50,
        "filters":[
            {
                "type":"eq",
                "field":"eventType",
                "value":"BATTERY_EMPTY"
            }
        ]
    }
}

Journal Filters

Journal Filter example

{
  "type":"eq",
  "field":"category",
  "value":"installationPoints"
}
Filter by Field name Filter type(s)
Entry Category category eq
User userName contains
Action actionType eq
Date, since createdAt gte
Category Values
installationPoints
officeModes
identificationMedia
keycredits
persons
calendars
timeProfiles
authorizationProfiles
maintenanceComponents
codingStations
zones
users
userGroups
partitions
Action Values
create
update
delete
Date Value
YYYY-MM-DD

Access Protocol Filters

Filter by Field name Filter type(s)
Date (from, to) timestampUtc custom
Event Group groupOfEvent eq
Event Type eventType eq
Person person like
Installation Point Name installationPointName like
Installation Point ID installationPointIdentifier like
Identification Medium Label identificationMediumLabel like
Zone Identifiers zoneIds contains
Access Point
Date Value Filters
YYYY-MM-DD Entries from date
;YYYY-MM-DD Entries to date
YYYY-MM-DD;YYYY-MM-DD Entries from first date to second date
Event Group Values
MediumEvents
EvvaComponent
MaintenanceComponent
AdministrationComponent
Event Type Values Event Group
OPENING_NORMAL MediumEvents
OPENING_EMERGENCY MediumEvents
MANUAL_OPENING_STARTED MediumEvents
MANUAL_OPENING_FINISHED MediumEvents
MEDIUM_RESTRICTED MediumEvents
OPENING_NORMAL_PROLONGED MediumEvents
OPENING_EMERGENCY_PROLONGED MediumEvents
OPENING_EMERGENCY_INVALID_BLACKLIST_OR_TIME MediumEvents
OPENING_EMERGENCY_PROLONGED_INVALID_BLACKLIST_OR_TIME MediumEvents
KILL_MEDIUM MediumEvents
TIMED_OPENING_STARTED EvvaComponent
TIMED_OPENING_FINISHED EvvaComponent
TIMED_OPENING_SKIPPED EvvaComponent
TIME_CHANGE_EXECUTED EvvaComponent
BATTERY_EMPTY EvvaComponent
FW_UPDATE_PERFORMED MaintenanceComponent
PANIC_EXIT MaintenanceComponent
RTC_ERROR MaintenanceComponent
RTC_OFFSET AdministrationComponent

Self Service Mode

Since Xesar v3.3

Xesar 3.3 introduces a new mode of operation called Self Service Mode. This mode enables you to issue and manage your own Smartphones as identification media using the Xesar mobile SDK.

By default, Xesar operates in XMS (Xesar Mobile Service) mode. In this mode, the Xesar system is connected to XMS and the delivery of access data to Smartphones is handled entirely by it. In Self Service Mode, it's the responsibility of a third party system to deliver the access data to any Smartphones.

Warning

Do not switch to Self Service mode unless you are absolutely sure that you want to manage Smartphones on your own. Once configured, it is not possible to switch back to XMS mode. Switching to Self Service mode while Smartphones managed by XMS are already present in the system may lead to unexpected behaviour, please make sure to only configure this mode before any Smartphones are created and potentially registered.

Configuration

Self Service Mode is configured via the MQTT command SetMobileServiceModeMapi with the mobileServiceMode parameter set to SELF_SERVICE. Upon sending this command, the Xesar system will permanently switch to Self Service Mode. Attempting to publish the command again once Self Service mode is active will be ignored.

Behaviour

Once the Xesar system is in Self Service Mode, several events will be published to a new dedicated topic: xs3/1/mss/ces/<event>

The following events are published in Self Service Mode:

Events ending in Pending are considered intermediate states. They are published to the previously mentioned topic whenever the Xesar system receives a command to create, change, revoke or lock a Smartphone. The final state of the Smartphone must be confirmed by the third party system with a command containing the UUID that identifies the transaction (field transactionId in "*Pending" events).

This is done by publishing the respective confirmation command when the Smartphone is considered "ready to be used", e.g., the third party system successfully delivered the access data to the Smartphone. The SmartphoneLocked event is a special case where this isn't necessary.

The following confirmation commands are accepted in Self Service Mode on the topic xs3/1/mss/cmd/<command>:

Attempting to send any of the confirmation commands while the system in not in Self Service mode will be ignored.

Should your system lose track of the transaction IDs or state of the Smartphone, you can query the identification-media-access-data resource via xs3/1/q. This resource is also filterable by the state field if you need to find Smartphones in a specific transaction state.

As an example, if you'd like to get all Smartphones that have a UPDATE_PENDING transaction state, you can publish the following to xs3/1/q:

{
    "requestId": "your-request-id",
    "token": "your-token",  
    "resource": "identification-media-access-data",
    "params": {
        "filters": [{
            "type": "eq",
            "field": "state",
            "value": "UPDATE_PENDING"
        }]
    }
}

Changelog

[1.54.0]

Added

  • Added mediumId and transactionId to query results for smartphones in Self Service Mode.

Changed

Removed

[1.53.0]

Added

  • Added ConfigurePasswordPolicy Permission

Changed

Removed

[1.52.0]

Added

  • Added AddSmartphone Permission
  • Added Installation-Information API-Path to the Documentation

Changed

  • AddSmartphoneToInstallationMapi needs AddSmartphone Permission instead of AddIdentificationMedium Permission

Removed

[1.51.0]

Added

  • Added dstTransitions to InstallationPointCreated. This field contains the next 14 daylight-saving time transitions.

Changed

  • Replaced @StrDefault with @StrAll for installationType to ensure consistent validation.
  • Deprecated nextDstTransition and afterNextDstTransition in InstallationPointCreated. The fields are marked for removal. Use dstTransitions instead.
  • Deprecated batteryWarning in EvvaComponentAdded. The field is marked for removal.

Removed

[1.50.0]

Added

  • Added maintenanceTaskReason and maintenanceTask to evva-components

Changed

Removed

[1.37.0]

Added

Changed

  • Changed all byte[] fields in the documentation to a Base64 encoded String type with a comment that it is Base64 encoded. This is a side effect of Jackson's serialization of byte arrays, which by convention are Base64 encoded in JSON.
  • Update description of RequestAddMediumToInstallationMapi command for better understanding.

Removed

[1.36.0]

Added

Changed

  • Fixed incorrect references to command RequestAddMediumToInstallationMapi (was AddMediumToInstallationMapi)

Removed

[1.35.0]

Added

Changed

  • Fixed validation of the name parameter in ChangeCodingStationMapi to ensure it is not null, prevent exceptions, and provide accurate error reasons.
  • Fixed handling of the description parameter in ChangeAuthorizationProfileMapi to prevent errors for null values.
  • Changed validation for ChangePersonInformationMapi to resolve an inconsistency with the "CreatePersonMapi" command and the user interface, where the firstName and lastName parameters must not be null.

Removed

[1.34.0]

Added

Changed

Removed

[1.33.0]

Added

Changed

  • Corrected typo at the section "Api query response" at "Queries".
  • Changed description of ConfigureMediaUpgradeMapi.
  • Changed the text "Required" to bold at the description of the payloads.

Removed

[1.32.0]

Added

Changed

  • Corrected all 'calender' typos

Removed

[1.31.0]

Added

Changed

  • Corrected typo in the section "Session Lifecycle"

Removed

[1.30.0]

Added

  • Added WEB_2FA channel type found in UnauthorizedLoginAttempt events. This channel type is used when the user enters an invalid 2FA code upon login.

Changed

Removed

[1.29.0]

Added

  • Added description for the LoggedOut event.
  • Added documentation for the batteryCondition field of the installation point query response.
  • Added UnassignPersonFromMediumMapi command.
  • Added "totpState" and "totpDeviceName" when querying users
  • Added the assigned zones as "zoneIds" and "extendedZonesIds" when querying installation-points

Changed

  • Improved the general mqtt documentation by adding information about the supported QoS.
  • Improved the general query documentation.
  • Improved the ApiQueryRequest documentation.
  • Fixed the name of the persons query response field "isExternal" to "external".
  • All fields that have a UUID Array as type are now displayed as a String Array with format UUID instead of "Object".
  • All fields that have a byte[] as type are now displayed as a Integer Array with format byte instead of "Object" with format "byte[]".
  • Fields that have the Char type are now documented as a String with the format "char" instead of "Object".
  • The "ne" (notEqual) query filter type is now correctly applied.
  • The "gt" (greater than), "lt" (less than) query filter types are now correctly applied.
  • The "isNotNull" query filter type is now correctly applied.
  • Improved query sorting documentation
  • Queries for the following resources now return a list of entities with a deterministic sorting order:
    • access-protocol: -timestampUtc,id
    • authorization-profiles: id
    • calendars: id
    • evva-components: id
    • installation-points: id
    • identification-media: id
    • office-modes: id
    • persons: id
    • time-profiles: id
    • users: id
    • zones: id
  • The office-modes query resource now supports sorting and pagination.

Removed

  • Unsupported static fields were removed from documentation.

[1.28.0]

Added

  • Added "accessId" to response payload of "zones" query resource
  • Added filterable Self Service transaction state to medium access data query
    • Only in Self Service mode and if the medium is a smartphone
  • Added documentation for Self Service mode
    • Added events:
      • SmartphoneUpdatePending
      • SmartphoneRevokePending
      • SmartphoneLocked
      • SmartphoneUpdateConfirmed
      • SmartphoneRevokeConfirmed
    • Added commands:
      • ConfirmSmartphoneUpdateMapi
      • ConfirmSmartphoneRevokeMapi
  • Added missing confirmation events for Entity Metadata Definition modification commands
    • Commands:
      • AddEntityMetadataDefinitionMapi
      • DeleteEntityMetadataDefinitionMapi
      • RenameEntityMetadataDefinitionMapi
    • Confirmed by events:
      • PersonMetadataDefinitionsUpdated
      • MediumMetadataDefinitionsUpdated
      • ZoneMetadataDefinitionsUpdated
      • InstallationPointMetadataDefinitionsUpdated
      • AuthorizationProfileMetadataDefinitionsUpdated
  • Added description for coding station configuration REST endpoint
  • Added RevokeSmartphoneMapi command. Only available for media of type "Smartphone".

Changed

Removed

[1.27.0]

Added

  • Added commands to modify Entity Metadata Definitions:
    • AddEntityMetadataDefinitionMapi
    • DeleteEntityMetadataDefinitionMapi
    • RenameEntityMetadataDefinitionMapi
  • Added commands to modify Entity metadata values:
    • For "Person" entities: ChangePersonMetadataValueMapi
    • For "Identification Medium" entities: ChangeMediumMetadataValueMapi
    • For "Zone" entities: ChangeZoneMetadataValueMapi
    • For "Installation Point" entities: ChangeInstallationPointMetadataValueMapi
    • For "Authorization Profile" entities: ChangeAuthorizationProfileMetadataValueMapi
  • Added additional instructions for fetching user authentication and authorization configuration
    • Added endpoint name and response format
    • Added script example for fetching the user configuration
  • Added additional information to the Session section to describe the session token's lifecycle

Changed

  • Change permission for querying of user resource
    • changed permission from ViewAllPersons to ViewAllUsers

Removed

[1.26.0]

Added

Changed

Removed

links to internal documents in the description of MediumSoftwareDisplayStatus and MediumHardwareDisplayStatus

[1.25.0]

Added

  • Added 'SetMobileServiceModeMapi' to allow configuring the Mobile Service mode
  • Added 'MobileServiceMode' to PartitionChanged event

Changed

Removed

[1.24.0]

Added

  • Added 'smartphoneValidityThreshold' to PartitionChanged events

Changed

Removed

[1.23.0]

Added

  • Added a new query resource "identification-media-access-data" to enable querying the access data of an identification medium.

Changed

Removed

[1.22.0]

Added

  • Added ResendSmartphoneAuthorizationsMapi command

Changed

Removed

[1.21.0]

Added

  • Added UnregisterSmartphoneMapi command for Smartphone

Changed

Removed

[1.20.0]

Added

  • Added REMOVED registration state to identification-media resource

Changed

Removed

[1.19.0]

Added

  • Added WithdrawAuthorizationProfileFromMediumMapi command for Smartphone

Changed

Removed

[1.18.0]

Added

Changed

  • Added bluetooth-state to configure Bluetooth for G2.1 components via installation-points
  • Added ConfigureBluetoothStateMapi

Removed

[1.17.0]

Added

Changed

  • Changed the query for installation-points resource to exclude bleStatus from non-baptized insallation-points

Removed

[1.16.0]

Added

Changed

  • Changed the timezone for syncedAt and issuedAt from UTC to installation timezone when querying identification-media

Removed

[1.15.0]

Added

  • Added standardTimeProfile to AuthorizationProfileDeleted

Changed

  • Define partitionId as not required for AddSmartphoneToInstallationMapi command

Removed

[1.14.0]

Added

  • Added registration code and registration code valid until to identification-media resource
  • Added registration state REGISTRATION_REQUESTED

Changed

Removed

[1.13.0]

Added

  • Added registration state when querying identification-media
  • Added PhoneNumberChanged event
  • Added medium state UNLINKED

Changed

Removed

[1.12.0]

Added

  • Add new command to set message language for smartphone
    • Command name: SetMessageLanguageOnSmartphoneMapi
    • Confirmed by event: MediumChanged

Changed

Removed

[1.11.0]

Added

  • Add new command to manually request a new Smartphone Registration Code
    • Command name: RequestNewRegistrationCodeMapi
    • Confirmed by event: NewRegistrationCodeRequested

Changed

Removed

[1.10.0]

Added

  • Added new fields to return of "evva-components" resource query
    • bleMac
    • btbFirmwareVersion
    • fwVersion
    • upgradeMedia
    • serialNumber
  • Added new fields to return of "installation-points" resource query
    • timeProfileId
    • accessId
    • secure

Changed

Removed

[1.9.0]

Added

  • Added new hardware status when querying identification-media
    • hardwareStatus: NEW

Changed

Removed

[1.8.0]

Added

  • Added new states for pending revoked smartphone when querying identification-media
    • softwareStatus: REVOKED
    • mediumState: REVOKED

Changed

Removed

[1.7.0]

Added

  • Added AddSmartphoneToInstallationMapi command
  • Added SmartphoneAddedToInstallation event

Changed

Removed

[1.6.0]

Added

  • Added SetPhoneNumberOnSmartphoneMapi command

Changed

Removed

[1.5.0]

Added

  • Added phoneNumber parameter to MediumChanged event

Changed

Removed

[1.4.0]

Added

  • Added new command SetDefaultSmartphoneValidityDurationMapi
  • Added smartphoneValidityDuration parameter to PartitionChanged event

Changed

Removed

[1.3.0]

Added

  • PhoneNumber added to identification-media resource.
  • MediumType added to identification-media resource.

Changed

Removed

[1.2.1]

Added

Changed

  • Fixed layout of table in changelog.

Removed

[1.2.0]

Added

Changed

Bugfix for Event Numbers

Fixed event numbers of the following events:

Event Name Old Event Number New Event Number
OPENING_NORMAL_BLACKLISTED (0x0001) (0xA001)
OPENING_EMERGENCY_BLACKLISTED (0x0002) (0xA002)
MANUAL_OPENING_STARTED_BLACKLISTED (0x0003) (0xA003)
OPENING_NORMAL_PROLONGED_BLACKLISTED (0x0007) (0xA007)
OPENING_EMERGENCY_PROLONGED_BLACKLISTED (0xA008) (0xA008)
OPENING_EMERGENCY_INVALID_BLACKLIST_OR_TIME_BLACKLISTED (0x0009) (0xA009)
OPENING_EMERGENCY_PROLONGED_INVALID_BLACKLIST_OR_TIME_BLACKLISTED (0x000A) (0xA00A)
FW_UPDATED NULL (0xA501)
FW_UPDATED_PARTIAL_FAIL NULL (0xA502)
FW_UPDATED_TOTAL_FAIL NULL (0xA503)
NONCE_OFFSET NULL (0xAB04)
OPENING_NORMAL_REMOTE (0x0001) (0xB001)
MANUAL_OPENING_STARTED_REMOTE (0x0003) (0xB003)
MANUAL_OPENING_FINISHED_REMOTE (0x0004) (0xB004)
OPENING_NORMAL_PROLONGED_REMOTE (0x0007) (0xB007)
OPENING_NORMAL_SWITCH (0x0001) (0xC001)

Bugfix for Event Groups

Fixed event groups of the following events:

Event Name Event Number (hex) Old Event Group New Event Group
OPENING_NORMAL_BLACKLISTED (0xA001) AdministrationComponent MediumEvents
OPENING_EMERGENCY_BLACKLISTED (0xA002) AdministrationComponent MediumEvents
MANUAL_OPENING_STARTED_BLACKLISTED (0xA003) AdministrationComponent MediumEvents
OPENING_NORMAL_PROLONGED_BLACKLISTED (0xA007) AdministrationComponent MediumEvents
OPENING_EMERGENCY_PROLONGED_BLACKLISTED (0xA008) AdministrationComponent MediumEvents
OPENING_EMERGENCY_INVALID_BLACKLIST_OR_TIME_BLACKLISTED (0xA009) AdministrationComponent MediumEvents
OPENING_EMERGENCY_PROLONGED_INVALID_BLACKLIST_OR_TIME_BLACKLISTED (0xA00A) AdministrationComponent MediumEvents
OPENING_NORMAL_REMOTE (0xB001) MediumEvents AdministrationComponent
MANUAL_OPENING_STARTED_REMOTE (0xB003) MediumEvents AdministrationComponent
MANUAL_OPENING_FINISHED_REMOTE (0xB004) MediumEvents AdministrationComponent
OPENING_NORMAL_PROLONGED_REMOTE (0xB007) MediumEvents AdministrationComponent
OPENING_NORMAL_SWITCH (0xC001) MediumEvents AdministrationComponent

Removed

[1.1.1]

Added

Changed

  • Fixed typo in the description of Access Protocol Events.

Removed

[1.1.0]

Added

  • Provide asyncapi.yaml

Changed

Removed

[1.0.0]

Added

  • Initial documentation

Changed

Removed

Operations

  • SUB xs3/1/ase/{groupOfEvent}/{eventNumber}

    groupOfEvent
    required
    string
    uid: groupOfEvent

    groupOfEvent

    eventNumber
    required
    string
    uid: eventNumber

    eventNumber

    • #Access Protocol Events

    Accepts the following message:

    EventLogEntryDto

    Topic to subscribe to get the incoming logs for a given group of events and event number.
    Event groups: NoGroup, MediumEvents, EvvaComponent, MaintenanceComponent, AdministrationComponent.

    object

    Examples

  • SUB xs3/1/ces/AddMediumToInstallationRequested

    • #System Events

    Accepts the following message:

    AddMediumToInstallationRequested

    Required permission: AddIdentificationMedium

    Commands confirmed by this event:

     • RequestAddMediumToInstallationMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileAccessChanged

    • #System Events

    Accepts the following message:

    AuthorizationProfileAccessChanged

    Whenever the authorization data of an authorization profile was changed, this is event is emitted.

    For instance, when the standard time profile was changed, an installation point was added/removed, a specific time profile was assigned to a zone or a previously assigned time profile was unassigned. However, the event is not emitted if the access times of a time profile were changed, see _AuthorizationTimeProfileAccessTimesChanged_ for this.

    Required permission: ChangeAuthorizationProfileData

    Commands confirmed by this event:

     • ChangeAuthorizationProfileMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileChanged

    • #System Events

    Accepts the following message:

    AuthorizationProfileChanged

    Required permission: ChangeAuthorizationProfileData

    Commands confirmed by this event:

     • ChangeAuthorizationProfileMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileCreated

    • #System Events

    Accepts the following message:

    AuthorizationProfileCreated

    Required permission: CreateAuthorizationProfile

    Commands confirmed by this event:

     • CreateAuthorizationProfileMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileDeleted

    • #System Events

    Accepts the following message:

    AuthorizationProfileDeleted

    Required permission: RemoveAuthorizationProfile

    Commands confirmed by this event:

     • DeleteAuthorizationProfileMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileInfoChanged

    • #System Events

    Accepts the following message:

    AuthorizationProfileInfoChanged

    Required permission: ChangeAuthorizationProfileData

    Commands confirmed by this event:

     • ChangeAuthorizationProfileMapi

     • ChangeAuthorizationProfileMetadataValueMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileMetadataDefinitionsUpdated

    • #System Events

    Accepts the following message:

    AuthorizationProfileMetadataDefinitionsUpdated

    Required permission: ConfigureEntityMetadataDefinitions

    Commands confirmed by this event:

     • AddEntityMetadataDefinitionMapi

     • DeleteEntityMetadataDefinitionMapi

     • RenameEntityMetadataDefinitionMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationProfileWithdrawnFromMedium

    • #System Events

    Accepts the following message:

    AuthorizationProfileWithdrawnFromMedium

    Withdraw means that we don't have the physical medium in our hands. We remove the authorizations. The next time the medium is updated, authorizations will be removed from the physical card. Most likely this will happen at an online-wallreader.

    Required permission: WithdrawAllAuthorizations

    Commands confirmed by this event:

     • WithdrawAuthorizationProfileFromMediumMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationTimeProfileChanged

    • #System Events

    Accepts the following message:

    AuthorizationTimeProfileChanged

    Required permission: ChangeTimeProfile

    Commands confirmed by this event:

     • ChangeAuthorizationTimeProfileMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationTimeProfileCreated

    • #System Events

    Accepts the following message:

    AuthorizationTimeProfileCreated

    Required permission: CreateTimeProfile

    Commands confirmed by this event:

     • CreateAuthorizationTimeProfileMapi

    object

    Examples

  • SUB xs3/1/ces/AuthorizationTimeProfileDeleted

    • #System Events

    Accepts the following message:

    AuthorizationTimeProfileDeleted

    Required permission: RemoveTimeProfile

    Commands confirmed by this event:

     • DeleteAuthorizationTimeProfileMapi

    object

    Examples

  • SUB xs3/1/ces/CalendarChanged

    • #System Events

    Accepts the following message:

    CalendarChanged

    Required permission: ChangeCalendar

    Commands confirmed by this event:

     • ChangeCalendarMapi

    object

    Examples

  • SUB xs3/1/ces/CalendarCreated

    • #System Events

    Accepts the following message:

    CalendarCreated

    Required permission: CreateCalendar

    Commands confirmed by this event:

     • CreateCalendarMapi

    object

    Examples

  • SUB xs3/1/ces/CalendarDeleted

    • #System Events

    Accepts the following message:

    CalendarDeleted

    Required permission: RemoveCalendar

    Commands confirmed by this event:

     • DeleteCalendarMapi

    object

    Examples

  • SUB xs3/1/ces/CodingStationChanged

    • #System Events

    Accepts the following message:

    CodingStationChanged

    Required permission: ChangeCodingStationData

    Commands confirmed by this event:

     • ChangeCodingStationMapi

    object

    Examples

  • SUB xs3/1/ces/CodingStationCreated

    • #System Events

    Accepts the following message:

    CodingStationCreated

    Required permission: AddCodingStation

    Commands confirmed by this event:

     • CreateCodingStationMapi

    object

    Examples

  • SUB xs3/1/ces/CodingStationDeleted

    • #System Events

    Accepts the following message:

    CodingStationDeleted

    Required permission: RemoveCodingStation

    Commands confirmed by this event:

     • DeleteCodingStationMapi

    object

    Examples

  • SUB xs3/1/ces/EvvaComponentAdded

    • #System Events

    Accepts the following message:

    EvvaComponentAdded

    Required permission: ChangeInstallationPointData

    Commands confirmed by this event:

     • AddEvvaComponentMapi

     • CreateInstallationPointMapi

    object

    Examples

  • SUB xs3/1/ces/EvvaComponentRemovalPrepared

    • #System Events

    Accepts the following message:

    EvvaComponentRemovalPrepared

    Required permission: RemoveEvvaComponent

    Commands confirmed by this event:

     • PrepareRemovalOfEvvaComponentMapi

    object

    Examples

  • SUB xs3/1/ces/EvvaComponentRemoved

    • #System Events

    Accepts the following message:

    EvvaComponentRemoved

    Required permission: RemoveFaultyEvvaComponent

    Commands confirmed by this event:

     • ForceRemoveEvvaComponentMapi

    object

    Examples

  • SUB xs3/1/ces/FindComponentPerformed

    • #System Events

    Accepts the following message:

    FindComponentPerformed

    Required permission: SearchOnlineEvvaComponent

    Commands confirmed by this event:

     • FindComponentMapi

    object

    Examples

  • SUB xs3/1/ces/IndividualAuthorizationsAddedToMedium

    • #System Events

    Accepts the following message:

    IndividualAuthorizationsAddedToMedium

    Required permission: any of:

     • AssignInstallationPointIndividualAuthorization

     • AssignZoneIndividualAuthorization

    Commands confirmed by this event:

     • AddInstallationPointAuthorizationToMediumMapi

     • AddZoneAuthorizationToMediumMapi

    object

    Examples

  • SUB xs3/1/ces/IndividualAuthorizationsDeleted

    • #System Events

    Accepts the following message:

    IndividualAuthorizationsDeleted

    Required permission: any of:

     • RemoveInstallationPointIndividualAuthorization

     • RemoveZoneIndividualAuthorization

    Commands confirmed by this event:

     • RemoveInstallationPointAuthorizationFromMediumMapi

     • RemoveZoneAuthorizationFromMediumMapi

    object

    Examples

  • SUB xs3/1/ces/InstallationPointChanged

    • #System Events

    Accepts the following message:

    InstallationPointChanged

    Required permission: any of:

     • AssignOfficeModeTimeProfileToInstallationPoint

     • ChangeInstallationPointData

     • ConfigureLoggingPersonalDataForInstallationPoint

     • ConfigureManualOfficeModeAndShopMode

     • ConfigureMediaUpgrade

     • ConfigureReleaseDuration

    Commands confirmed by this event:

     • AddEvvaComponentMapi

     • ChangeInstallationPointMapi

     • ChangeInstallationPointMetadataValueMapi

     • ConfigureBluetoothStateMapi

     • ConfigureManualOfficeModeAndShopModeMapi

     • ConfigureMediaUpgradeMapi

     • ConfigureOfficeModeTimeProfileMapi

     • ConfigureReleaseDurationMapi

     • SetPersonalReferenceDurationForInstallationPointMapi

    object

    Examples

  • SUB xs3/1/ces/InstallationPointCreated

    • #System Events

    Accepts the following message:

    InstallationPointCreated

    Required permission: AddInstallationPoint

    Commands confirmed by this event:

     • CreateInstallationPointMapi

    object

    Examples

  • SUB xs3/1/ces/InstallationPointDeleted

    • #System Events

    Accepts the following message:

    InstallationPointDeleted

    Required permission: RemoveInstallationPoint

    Commands confirmed by this event:

     • DeleteInstallationPointMapi

    object

    Examples

  • SUB xs3/1/ces/InstallationPointMetadataDefinitionsUpdated

    • #System Events

    Accepts the following message:

    InstallationPointMetadataDefinitionsUpdated

    Required permission: ChangeEntityMetadataValue

    Commands confirmed by this event:

     • AddEntityMetadataDefinitionMapi

     • DeleteEntityMetadataDefinitionMapi

     • RenameEntityMetadataDefinitionMapi

    object

    Examples

  • SUB xs3/1/ces/InstallationPointsInZoneChanged

    • #System Events

    Accepts the following message:

    InstallationPointsInZoneChanged

    Required permission: any of:

     • AssignInstallationPointToZone

     • RemoveInstallationPointFromZone

    Commands confirmed by this event:

     • AddInstallationPointToZoneMapi

     • RemoveInstallationPointFromZoneMapi

    object

    Examples

  • SUB xs3/1/ces/LoggedOut

    • #Session

    Accepts the following message:

    LoggedOut

    Required permission: LoginAdministrationComponent

    Commands confirmed by this event:

     • Logout

    object

    Examples

  • SUB xs3/1/ces/MediumAddedToInstallation

    • #System Events

    Accepts the following message:

    MediumAddedToInstallation

    Required permission: AddIdentificationMedium

    Commands confirmed by this event:

     • RequestAddMediumToInstallationMapi

    object

    Examples

  • SUB xs3/1/ces/MediumAuthorizationProfileChanged

    • #System Events

    Accepts the following message:

    MediumAuthorizationProfileChanged

    Required permission: AssignAuthorizationProfileToIdentificationMedium

    Commands confirmed by this event:

     • AssignAuthorizationProfileToMediumMapi

    object

    Examples

  • SUB xs3/1/ces/MediumChanged

    • #System Events

    Accepts the following message:

    MediumChanged

    Required permission: any of:

     • ChangeDisengagePeriodOnMedium

     • ChangeValidityDurationOnMedium

     • SetAuthorizationBeginAtOnMedium

     • SetAuthorizationEndAtOnMedium

     • SetMediumLabel

    Commands confirmed by this event:

     • AssignAuthorizationProfileToMediumMapi

     • AssignPersonToMediumMapi

     • ChangeMediumMetadataValueMapi

     • SetAccessBeginAtMapi

     • SetAccessEndAtMapi

     • SetDisengagePeriodOnMediumMapi

     • SetLabelOnMediumMapi

     • SetMessageLanguageOnSmartphoneMapi

     • SetPhoneNumberOnSmartphoneMapi

     • SetValidityDurationMapi

     • UnassignPersonFromMediumMapi

    object

    Examples

  • SUB xs3/1/ces/MediumLocked

    • #System Events

    Accepts the following message:

    MediumLocked

    Required permission: LockMedium

    Commands confirmed by this event:

     • LockMediumMapi

    object

    Examples

  • SUB xs3/1/ces/MediumMetadataDefinitionsUpdated

    • #System Events

    Accepts the following message:

    MediumMetadataDefinitionsUpdated

    Required permission: ChangeEntityMetadataValue

    Commands confirmed by this event:

     • AddEntityMetadataDefinitionMapi

     • DeleteEntityMetadataDefinitionMapi

     • RenameEntityMetadataDefinitionMapi

    object

    Examples

  • SUB xs3/1/ces/MediumPersonChanged

    • #System Events

    Accepts the following message:

    MediumPersonChanged

    Required permission: AssignMediumToPerson

    Commands confirmed by this event:

     • AssignPersonToMediumMapi

     • UnassignPersonFromMediumMapi

    object

    Examples

  • SUB xs3/1/ces/MediumRevoked

    • #System Events

    Accepts the following message:

    MediumRevoked

    Required permission: RevokeMedium

    Commands confirmed by this event:

     • RevokeSmartphoneMapi

    object

    Examples

  • SUB xs3/1/ces/MobileRegistrationStateUpdated

    • #System Events

    Accepts the following message:

    MobileRegistrationStateUpdated

    Required permission: ChangeIssuedMedium

    Commands confirmed by this event:

     • AddSmartphoneToInstallationMapi

     • RequestNewRegistrationCodeMapi

    object

    Examples

  • SUB xs3/1/ces/NewRegistrationCodeRequested

    • #System Events

    Accepts the following message:

    NewRegistrationCodeRequested

    Required permission: ChangeIssuedMedium

    Commands confirmed by this event:

     • RequestNewRegistrationCodeMapi

    object

    Examples

  • SUB xs3/1/ces/OfficeModeTimeProfileChanged

    • #System Events

    Accepts the following message:

    OfficeModeTimeProfileChanged

    Required permission: ChangeTimeProfile

    Commands confirmed by this event:

     • ChangeOfficeModeTimeProfileMapi

    object

    Examples

  • SUB xs3/1/ces/OfficeModeTimeProfileCreated

    • #System Events

    Accepts the following message:

    OfficeModeTimeProfileCreated

    Required permission: CreateTimeProfile

    Commands confirmed by this event:

     • CreateOfficeModeTimeProfileMapi

    object

    Examples

  • SUB xs3/1/ces/OfficeModeTimeProfileDeleted

    • #System Events

    Accepts the following message:

    OfficeModeTimeProfileDeleted

    Required permission: RemoveTimeProfile

    Commands confirmed by this event:

     • DeleteOfficeModeTimeProfileMapi

    object

    Examples

  • SUB xs3/1/ces/PartitionChanged

    • #System Events

    Accepts the following message:

    PartitionChanged

    Required permission: any of:

     • ConfigureDailySchedulerExecutionTime

     • ConfigureDefaultLoggingPersonalDataForInstallationPoint

     • ConfigureDefaultLoggingPersonalDataForPerson

     • ConfigurePasswordPolicy

     • ConfigureValidityThreshold

     • SetDefaultAccessDurationForReplacedMedium

     • SetDefaultMediumValidityDurationForPartition

    Commands confirmed by this event:

     • AddEntityMetadataDefinitionMapi

     • DeleteEntityMetadataDefinitionMapi

     • RenameEntityMetadataDefinitionMapi

     • SetDailySchedulerExecutionTimeMapi

     • SetDefaultSmartphoneValidityDurationMapi

     • SetDefaultValidityDurationMapi

     • SetInstallationPointPersonalReferenceDurationMapi

     • SetMobileServiceModeMapi

     • SetPersonPersonalReferenceDurationMapi

     • SetReplacementMediumDurationMapi

     • SetValidityThresholdMapi

    object

    Examples

  • SUB xs3/1/ces/PersonChanged

    • #System Events

    Accepts the following message:

    PersonChanged

    Required permission: any of:

     • ChangePersonData

     • ConfigureLoggingPersonalDataForPerson

     • SetDefaultAuthorizationProfileForPerson

     • SetDefaultDisengagePeriodForPerson

    Commands confirmed by this event:

     • ChangePersonInformationMapi

     • ChangePersonMetadataValueMapi

     • SetDefaultAuthorizationProfileForPersonMapi

     • SetDefaultDisengagePeriodForPersonMapi

     • SetPersonalReferenceDurationInPersonMapi

    object

    Examples

  • SUB xs3/1/ces/PersonCreated

    • #System Events

    Accepts the following message:

    PersonCreated

    Required permission: CreatePerson

    Commands confirmed by this event:

     • CreatePersonMapi

    object

    Examples

  • SUB xs3/1/ces/PersonDeleted

    • #System Events

    Accepts the following message:

    PersonDeleted

    Required permission: RemovePerson

    Commands confirmed by this event:

     • DeletePersonMapi

    object

    Examples

  • SUB xs3/1/ces/PersonMetadataDefinitionsUpdated

    • #System Events

    Accepts the following message:

    PersonMetadataDefinitionsUpdated

    Required permission: ChangeEntityMetadataValue

    Commands confirmed by this event:

     • AddEntityMetadataDefinitionMapi

     • DeleteEntityMetadataDefinitionMapi

     • RenameEntityMetadataDefinitionMapi

    object

    Examples

  • SUB xs3/1/ces/PhoneNumberChanged

    • #System Events

    Accepts the following message:

    PhoneNumberChanged

    Required permission: SetMediumLabel

    Commands confirmed by this event:

     • SetPhoneNumberOnSmartphoneMapi

    object

    Examples

  • SUB xs3/1/ces/PrepareEvvaComponentRemovalReverted

    • #System Events

    Accepts the following message:

    PrepareEvvaComponentRemovalReverted

    Required permission: RevertRemoveComponent

    Commands confirmed by this event:

     • RevertPrepareRemovalOfEvvaComponentMapi

    object

    Examples

  • SUB xs3/1/ces/RemoteDisengagePerformed

    • #System Events

    Accepts the following message:

    RemoteDisengagePerformed

    Required permission: TriggerRemoteDisengage

    Commands confirmed by this event:

     • RemoteDisengageMapi

    object

    Examples

  • SUB xs3/1/ces/RemoteDisengagePermanentPerformed

    • #System Events

    Accepts the following message:

    RemoteDisengagePermanentPerformed

    Required permission: TriggerRemoteDisengage

    Commands confirmed by this event:

     • RemoteDisengagePermanentMapi

    object

    Examples

  • SUB xs3/1/ces/SmartphoneAddedToInstallation

    • #System Events

    Accepts the following message:

    SmartphoneAddedToInstallation

    Required permission: AddSmartphone

    Commands confirmed by this event:

     • AddSmartphoneToInstallationMapi

    object

    Examples

  • SUB xs3/1/ces/SmartphoneAuthorizationsResent

    • #System Events

    Accepts the following message:

    SmartphoneAuthorizationsResent

    Required permission: ChangeIssuedMedium

    Commands confirmed by this event:

     • ResendSmartphoneAuthorizationsMapi

    object

    Examples

  • SUB xs3/1/ces/SmartphoneUnregistered

    • #System Events

    Accepts the following message:

    SmartphoneUnregistered

    Required permission: ChangeIssuedMedium

    Commands confirmed by this event:

     • UnregisterSmartphoneMapi

    object

    Examples

  • SUB xs3/1/ces/UnauthorizedLoginAttempt

    • #Session

    Accepts the following message:

    UnauthorizedLoginAttempt

    Login attempt with wrong credentials. System administrators can monitor this message for attack mitigation.

    object

    Examples

  • SUB xs3/1/ces/UserGroupChanged

    • #System Events

    Accepts the following message:

    UserGroupChanged

    Required permission: CreateAuthorizationProfile

    Commands confirmed by this event:

     • ConfigureAssignableAuthorizationProfilesMapi

    object

    Examples

  • SUB xs3/1/ces/ZoneChanged

    • #System Events

    Accepts the following message:

    ZoneChanged

    Required permission: ChangeZoneData

    Commands confirmed by this event:

     • ChangeZoneDataMapi

     • ChangeZoneMetadataValueMapi

    object

    Examples

  • SUB xs3/1/ces/ZoneCreated

    • #System Events

    Accepts the following message:

    ZoneCreated

    Required permission: CreateZone

    Commands confirmed by this event:

     • CreateZoneMapi

    object

    Examples

  • SUB xs3/1/ces/ZoneDeleted

    • #System Events

    Accepts the following message:

    ZoneDeleted

    Required permission: RemoveZone

    Commands confirmed by this event:

     • DeleteZoneMapi

    object

    Examples

  • SUB xs3/1/ces/ZoneMetadataDefinitionsUpdated

    • #System Events

    Accepts the following message:

    ZoneMetadataDefinitionsUpdated

    Required permission: ChangeEntityMetadataValue

    Commands confirmed by this event:

     • AddEntityMetadataDefinitionMapi

     • DeleteEntityMetadataDefinitionMapi

     • RenameEntityMetadataDefinitionMapi

    object

    Examples

  • PUB xs3/1/cmd/AddEntityMetadataDefinitionMapi

    • #Command

    Accepts the following message:

    AddEntityMetadataDefinitionMapi

    Add one or more metadata definitions to a Xesar entity of the default partition. If any metadata definition with the same name already exists it will be ignored.

    Required permission: ConfigureEntityMetadataDefinitions

    Events confirming this command:

     • AuthorizationProfileMetadataDefinitionsUpdated

     • InstallationPointMetadataDefinitionsUpdated

     • MediumMetadataDefinitionsUpdated

     • PartitionChanged

     • PersonMetadataDefinitionsUpdated

     • ZoneMetadataDefinitionsUpdated

    object

    Examples

  • PUB xs3/1/cmd/AddEvvaComponentMapi

    • #Command

    Accepts the following message:

    AddEvvaComponentMapi

    Add an Evva component to an existing installation point.

    Required permission: ChangeInstallationPointData

    Events confirming this command:

     • EvvaComponentAdded

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/AddInstallationPointAuthorizationToMediumMapi

    • #Command

    Accepts the following message:

    AddInstallationPointAuthorizationToMediumMapi

    Add individual authorisation for an installation point.

    Required permission: AssignInstallationPointIndividualAuthorization

    Events confirming this command:

     • IndividualAuthorizationsAddedToMedium

    object

    Examples

  • PUB xs3/1/cmd/AddInstallationPointToZoneMapi

    • #Command

    Accepts the following message:

    AddInstallationPointToZoneMapi

    Required permission: AssignInstallationPointToZone

    Events confirming this command:

     • InstallationPointsInZoneChanged

    object

    Examples

  • PUB xs3/1/cmd/AddSmartphoneToInstallationMapi

    • #Command

    Accepts the following message:

    AddSmartphoneToInstallationMapi

    The AddSmartphoneToInstallationMapi command is designed specifically for adding smartphone identification mediums, while the RequestAddMediumToInstallationMapi command is dedicated to adding passive identification mediums. All other commands related to identification mediums can be used for modifying both smartphone identification mediums and other types of identification mediums.

    Required permission: AddSmartphone

    Events confirming this command:

     • MobileRegistrationStateUpdated

     • SmartphoneAddedToInstallation

    object

    Examples

  • PUB xs3/1/cmd/AddZoneAuthorizationToMediumMapi

    • #Command

    Accepts the following message:

    AddZoneAuthorizationToMediumMapi

    Required permission: AssignZoneIndividualAuthorization

    Events confirming this command:

     • IndividualAuthorizationsAddedToMedium

    object

    Examples

  • PUB xs3/1/cmd/AssignAuthorizationProfileToMediumMapi

    • #Command

    Accepts the following message:

    AssignAuthorizationProfileToMediumMapi

    Required permission: AssignAuthorizationProfileToIdentificationMedium

    Events confirming this command:

     • MediumAuthorizationProfileChanged

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/AssignPersonToMediumMapi

    • #Command

    Accepts the following message:

    AssignPersonToMediumMapi

    Required permission: AssignMediumToPerson

    Events confirming this command:

     • MediumChanged

     • MediumPersonChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeAuthorizationProfileMapi

    • #Command

    Accepts the following message:

    ChangeAuthorizationProfileMapi

    Required permission: ChangeAuthorizationProfileData

    Events confirming this command:

     • AuthorizationProfileAccessChanged

     • AuthorizationProfileChanged

     • AuthorizationProfileInfoChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeAuthorizationProfileMetadataValueMapi

    • #Command

    Accepts the following message:

    ChangeAuthorizationProfileMetadataValueMapi

    Change the value of a metadata field for an Authorization Profile. If the metadata field does not exist, this will fail.

    Required permission: ChangeEntityMetadataValue

    Events confirming this command:

     • AuthorizationProfileInfoChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeAuthorizationTimeProfileMapi

    • #Command

    Accepts the following message:

    ChangeAuthorizationTimeProfileMapi

    Required permission: ChangeTimeProfile

    Events confirming this command:

     • AuthorizationTimeProfileChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeCalendarMapi

    • #Command

    Accepts the following message:

    ChangeCalendarMapi

    Required permission: ChangeCalendar

    Events confirming this command:

     • CalendarChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeCodingStationMapi

    • #Command

    Accepts the following message:

    ChangeCodingStationMapi

    Required permission: ChangeCodingStationData

    Events confirming this command:

     • CodingStationChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeInstallationPointMapi

    • #Command

    Accepts the following message:

    ChangeInstallationPointMapi

    Required permission: ChangeInstallationPointData

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeInstallationPointMetadataValueMapi

    • #Command

    Accepts the following message:

    ChangeInstallationPointMetadataValueMapi

    Change the value of a metadata field for an Installation Point. If the metadata field does not exist, this will fail.

    Required permission: ChangeEntityMetadataValue

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeMediumMetadataValueMapi

    • #Command

    Accepts the following message:

    ChangeMediumMetadataValueMapi

    Change the value of a metadata field for an Identification Medium. If the metadata field does not exist, this will fail.

    Required permission: ChangeEntityMetadataValue

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeOfficeModeTimeProfileMapi

    • #Command

    Accepts the following message:

    ChangeOfficeModeTimeProfileMapi

    Required permission: ChangeTimeProfile

    Events confirming this command:

     • OfficeModeTimeProfileChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangePersonInformationMapi

    • #Command

    Accepts the following message:

    ChangePersonInformationMapi

    Required permission: ChangePersonData

    Events confirming this command:

     • PersonChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangePersonMetadataValueMapi

    • #Command

    Accepts the following message:

    ChangePersonMetadataValueMapi

    Change the value of a metadata field for a Person. If the metadata field does not exist, this will fail.

    Required permission: ChangeEntityMetadataValue

    Events confirming this command:

     • PersonChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeZoneDataMapi

    • #Command

    Accepts the following message:

    ChangeZoneDataMapi

    Required permission: ChangeZoneData

    Events confirming this command:

     • ZoneChanged

    object

    Examples

  • PUB xs3/1/cmd/ChangeZoneMetadataValueMapi

    • #Command

    Accepts the following message:

    ChangeZoneMetadataValueMapi

    Change the value of a metadata field for a Zone. If the metadata field does not exist, this will fail.

    Required permission: ChangeEntityMetadataValue

    Events confirming this command:

     • ZoneChanged

    object

    Examples

  • PUB xs3/1/cmd/ConfigureAssignableAuthorizationProfilesMapi

    • #Command

    Accepts the following message:

    ConfigureAssignableAuthorizationProfilesMapi

    Can be used to specify which authorization profiles can be assigned to a user group. The authorization profiles are specified via an array of their IDs.

    Required permission: CreateAuthorizationProfile

    Events confirming this command:

     • UserGroupChanged

    object

    Examples

  • PUB xs3/1/cmd/ConfigureBluetoothStateMapi

    • #Command

    Accepts the following message:

    ConfigureBluetoothStateMapi

    Required permission: ChangeInstallationPointData

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/ConfigureManualOfficeModeAndShopModeMapi

    • #Command

    Accepts the following message:

    ConfigureManualOfficeModeAndShopModeMapi

    Required permission: ConfigureManualOfficeModeAndShopMode

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/ConfigureMediaUpgradeMapi

    • #Command

    Accepts the following message:

    ConfigureMediaUpgradeMapi

    Activate/Deactivate the XVN access medium upgrade functionality for an online installation-point. (Online-Wallreader).

    Required permission: ConfigureMediaUpgrade

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/ConfigureOfficeModeTimeProfileMapi

    • #Command

    Accepts the following message:

    ConfigureOfficeModeTimeProfileMapi

    Required permission: AssignOfficeModeTimeProfileToInstallationPoint

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/ConfigureReleaseDurationMapi

    • #Command

    Accepts the following message:

    ConfigureReleaseDurationMapi

    Required permission: ConfigureReleaseDuration

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/CreateAuthorizationProfileMapi

    • #Command

    Accepts the following message:

    CreateAuthorizationProfileMapi

    Creates a new Authorization Profile.

    Required permission: CreateAuthorizationProfile

    Events confirming this command:

     • AuthorizationProfileCreated

    object

    Examples

  • PUB xs3/1/cmd/CreateAuthorizationTimeProfileMapi

    • #Command

    Accepts the following message:

    CreateAuthorizationTimeProfileMapi

    Required permission: CreateTimeProfile

    Events confirming this command:

     • AuthorizationTimeProfileCreated

    object

    Examples

  • PUB xs3/1/cmd/CreateCalendarMapi

    • #Command

    Accepts the following message:

    CreateCalendarMapi

    Required permission: CreateCalendar

    Events confirming this command:

     • CalendarCreated

    object

    Examples

  • PUB xs3/1/cmd/CreateCodingStationMapi

    • #Command

    Accepts the following message:

    CreateCodingStationMapi

    Required permission: AddCodingStation

    Events confirming this command:

     • CodingStationCreated

    object

    Examples

  • PUB xs3/1/cmd/CreateInstallationPointMapi

    • #Command

    Accepts the following message:

    CreateInstallationPointMapi

    Required permission: AddInstallationPoint

    Events confirming this command:

     • EvvaComponentAdded

     • InstallationPointCreated

    object

    Examples

  • PUB xs3/1/cmd/CreateOfficeModeTimeProfileMapi

    • #Command

    Accepts the following message:

    CreateOfficeModeTimeProfileMapi

    Required permission: CreateTimeProfile

    Events confirming this command:

     • OfficeModeTimeProfileCreated

    object

    Examples

  • PUB xs3/1/cmd/CreatePersonMapi

    • #Command

    Accepts the following message:

    CreatePersonMapi

    Creates a new Person.

    Required permission: CreatePerson

    Events confirming this command:

     • PersonCreated

    object

    Examples

  • PUB xs3/1/cmd/CreateZoneMapi

    • #Command

    Accepts the following message:

    CreateZoneMapi

    Creates a new Zone.

    Required permission: CreateZone

    Events confirming this command:

     • ZoneCreated

    object

    Examples

  • PUB xs3/1/cmd/DeleteAuthorizationProfileMapi

    • #Command

    Accepts the following message:

    DeleteAuthorizationProfileMapi

    Required permission: RemoveAuthorizationProfile

    Events confirming this command:

     • AuthorizationProfileDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeleteAuthorizationTimeProfileMapi

    • #Command

    Accepts the following message:

    DeleteAuthorizationTimeProfileMapi

    Required permission: RemoveTimeProfile

    Events confirming this command:

     • AuthorizationTimeProfileDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeleteCalendarMapi

    • #Command

    Accepts the following message:

    DeleteCalendarMapi

    Required permission: RemoveCalendar

    Events confirming this command:

     • CalendarDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeleteCodingStationMapi

    • #Command

    Accepts the following message:

    DeleteCodingStationMapi

    Required permission: RemoveCodingStation

    Events confirming this command:

     • CodingStationDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeleteEntityMetadataDefinitionMapi

    • #Command

    Accepts the following message:

    DeleteEntityMetadataDefinitionMapi

    Remove one or more metadata definitions from a Xesar entity on the default partition. If any provided definition name doesn't exist it will be ignored.

    Required permission: ConfigureEntityMetadataDefinitions

    Events confirming this command:

     • AuthorizationProfileMetadataDefinitionsUpdated

     • InstallationPointMetadataDefinitionsUpdated

     • MediumMetadataDefinitionsUpdated

     • PartitionChanged

     • PersonMetadataDefinitionsUpdated

     • ZoneMetadataDefinitionsUpdated

    object

    Examples

  • PUB xs3/1/cmd/DeleteInstallationPointMapi

    • #Command

    Accepts the following message:

    DeleteInstallationPointMapi

    Required permission: RemoveInstallationPoint

    Events confirming this command:

     • InstallationPointDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeleteOfficeModeTimeProfileMapi

    • #Command

    Accepts the following message:

    DeleteOfficeModeTimeProfileMapi

    Required permission: RemoveTimeProfile

    Events confirming this command:

     • OfficeModeTimeProfileDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeletePersonMapi

    • #Command

    Accepts the following message:

    DeletePersonMapi

    Required permission: RemovePerson

    Events confirming this command:

     • PersonDeleted

    object

    Examples

  • PUB xs3/1/cmd/DeleteZoneMapi

    • #Command

    Accepts the following message:

    DeleteZoneMapi

    Required permission: RemoveZone

    Events confirming this command:

     • ZoneDeleted

    object

    Examples

  • PUB xs3/1/cmd/FindComponent

    • #Command

    Accepts the following message:

    FindComponent

    Enable/disable the beeping signal to find the component.

    Required permission: SearchOnlineEvvaComponent

    Events confirming this command:

     • FindComponentPerformed

    object

    Examples

  • PUB xs3/1/cmd/ForceRemoveEvvaComponentMapi

    • #Command

    Accepts the following message:

    ForceRemoveEvvaComponentMapi

    Required permission: RemoveFaultyEvvaComponent

    Events confirming this command:

     • EvvaComponentRemoved

    object

    Examples

  • PUB xs3/1/cmd/LockMediumMapi

    • #Command

    Accepts the following message:

    LockMediumMapi

    Required permission: LockMedium

    Events confirming this command:

     • MediumLocked

     • SmartphoneLocked (Only in Self Service Mode)

    object

    Examples

  • PUB xs3/1/cmd/Login

    • #Session

    Accepts the following message:

    Login

    Events confirming this command:

     • LoginPerformed

    object

    Examples

  • PUB xs3/1/cmd/Logout

    • #Session

    Accepts the following message:

    Logout

    Events confirming this command:

     • LoggedOut

    object

    Examples

  • PUB xs3/1/cmd/PrepareRemovalOfEvvaComponentMapi

    • #Command

    Accepts the following message:

    PrepareRemovalOfEvvaComponentMapi

    Required permission: RemoveEvvaComponent

    Events confirming this command:

     • EvvaComponentRemovalPrepared

    object

    Examples

  • PUB xs3/1/cmd/RemoteDisengage

    • #Command

    Accepts the following message:

    RemoteDisengage

    Required permission: TriggerRemoteDisengage

    Events confirming this command:

     • RemoteDisengagePerformed

    object

    Examples

  • PUB xs3/1/cmd/RemoteDisengagePermanent

    • #Command

    Accepts the following message:

    RemoteDisengagePermanent

    Required permission: TriggerRemoteDisengage

    Events confirming this command:

     • RemoteDisengagePermanentPerformed

    object

    Examples

  • PUB xs3/1/cmd/RemoveInstallationPointAuthorizationFromMediumMapi

    • #Command

    Accepts the following message:

    RemoveInstallationPointAuthorizationFromMediumMapi

    Required permission: RemoveInstallationPointIndividualAuthorization

    Events confirming this command:

     • IndividualAuthorizationsDeleted

    object

    Examples

  • PUB xs3/1/cmd/RemoveInstallationPointFromZoneMapi

    • #Command

    Accepts the following message:

    RemoveInstallationPointFromZoneMapi

    Required permission: RemoveInstallationPointFromZone

    Events confirming this command:

     • InstallationPointsInZoneChanged

    object

    Examples

  • PUB xs3/1/cmd/RemoveZoneAuthorizationFromMediumMapi

    • #Command

    Accepts the following message:

    RemoveZoneAuthorizationFromMediumMapi

    Remove individual authorisation for a zone.

    Required permission: RemoveZoneIndividualAuthorization

    Events confirming this command:

     • IndividualAuthorizationsDeleted

    object

    Examples

  • PUB xs3/1/cmd/RenameEntityMetadataDefinitionMapi

    • #Command

    Accepts the following message:

    RenameEntityMetadataDefinitionMapi

    Renames a specific metadata definition of a Xesar entity. Will fail if the new name is already in use or if no metadata exists with the old name.

    Required permission: ConfigureEntityMetadataDefinitions

    Events confirming this command:

     • AuthorizationProfileMetadataDefinitionsUpdated

     • InstallationPointMetadataDefinitionsUpdated

     • MediumMetadataDefinitionsUpdated

     • PartitionChanged

     • PersonMetadataDefinitionsUpdated

     • ZoneMetadataDefinitionsUpdated

    object

    Examples

  • PUB xs3/1/cmd/RequestAddMediumToInstallationMapi

    • #Command

    Accepts the following message:

    RequestAddMediumToInstallationMapi

    The RequestAddMediumToInstallationMapi command is used specifically for adding passive identification mediums. However, this requires the coding station (terminal) to be available and the expected medium to be placed on it. If these conditions are not met, the API will return an error response.

    To add smartphone identification media, use the dedicated AddSmartphoneToInstallationMapi command. All other commands related to identification mediums can be used for modifying both smartphone identification mediums and other types of identification mediums. For further details on the specific Smarpthone MAPI command, please refer to the corresponding section in the documentation: [AddSmartphoneToInstallationMapi](#operation-publish-xs3/1/cmd/AddSmartphoneToInstallationMapi).

    Required permission: AddIdentificationMedium

    Events confirming this command:

     • AddMediumToInstallationRequested

     • MediumAddedToInstallation

    object

    Examples

  • PUB xs3/1/cmd/RequestNewRegistrationCodeMapi

    • #Command

    Accepts the following message:

    RequestNewRegistrationCodeMapi

    Required permission: ChangeIssuedMedium

    Events confirming this command:

     • MobileRegistrationStateUpdated

     • NewRegistrationCodeRequested

    object

    Examples

  • PUB xs3/1/cmd/ResendSmartphoneAuthorizationsMapi

    • #Command

    Accepts the following message:

    ResendSmartphoneAuthorizationsMapi

    Required permission: ChangeIssuedMedium

    Events confirming this command:

     • SmartphoneAuthorizationsResent

    object

    Examples

  • PUB xs3/1/cmd/RevertPrepareRemovalOfEvvaComponentMapi

    • #Command

    Accepts the following message:

    RevertPrepareRemovalOfEvvaComponentMapi

    Required permission: RevertRemoveComponent

    Events confirming this command:

     • PrepareEvvaComponentRemovalReverted

    object

    Examples

  • PUB xs3/1/cmd/RevokeSmartphoneMapi

    • #Command

    Accepts the following message:

    RevokeSmartphoneMapi

    In Self Service Mode, the update of the smartphone has to be confirmed at least once before it can be revoked.

    Required permission: RevokeMedium

    Events confirming this command:

     • MediumRevoked

    object

    Examples

  • PUB xs3/1/cmd/SetAccessBeginAtMapi

    • #Command

    Accepts the following message:

    SetAccessBeginAtMapi

    Sets the access begin of an identification medium.

    Required permission: SetAuthorizationBeginAtOnMedium

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/SetAccessEndAtMapi

    • #Command

    Accepts the following message:

    SetAccessEndAtMapi

    Sets the access end of an identification medium.

    Required permission: SetAuthorizationEndAtOnMedium

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/SetDailySchedulerExecutionTimeMapi

    • #Command

    Accepts the following message:

    SetDailySchedulerExecutionTimeMapi

    Required permission: ConfigureDailySchedulerExecutionTime

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetDefaultAuthorizationProfileForPersonMapi

    • #Command

    Accepts the following message:

    SetDefaultAuthorizationProfileForPersonMapi

    Required permission: SetDefaultAuthorizationProfileForPerson

    Events confirming this command:

     • PersonChanged

    object

    Examples

  • PUB xs3/1/cmd/SetDefaultDisengagePeriodForPersonMapi

    • #Command

    Accepts the following message:

    SetDefaultDisengagePeriodForPersonMapi

    Set whether short or long disengage period for a person.

    Required permission: SetDefaultDisengagePeriodForPerson

    Events confirming this command:

     • PersonChanged

    object

    Examples

  • PUB xs3/1/cmd/SetDefaultSmartphoneValidityDurationMapi

    • #Command

    Accepts the following message:

    SetDefaultSmartphoneValidityDurationMapi

    Required permission: SetDefaultMediumValidityDurationForPartition

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetDefaultValidityDurationMapi

    • #Command

    Accepts the following message:

    SetDefaultValidityDurationMapi

    Required permission: SetDefaultMediumValidityDurationForPartition

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetDisengagePeriodOnMediumMapi

    • #Command

    Accepts the following message:

    SetDisengagePeriodOnMediumMapi

    Required permission: ChangeDisengagePeriodOnMedium

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/SetInstallationPointPersonalReferenceDurationMapi

    • #Command

    Accepts the following message:

    SetInstallationPointPersonalReferenceDurationMapi

    Required permission: ConfigureDefaultLoggingPersonalDataForInstallationPoint

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetLabelOnMediumMapi

    • #Command

    Accepts the following message:

    SetLabelOnMediumMapi

    Required permission: SetMediumLabel

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/SetMessageLanguageOnSmartphoneMapi

    • #Command

    Accepts the following message:

    SetMessageLanguageOnSmartphoneMapi

    Required permission: SetMediumLabel

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/SetMobileServiceModeMapi

    • #Command

    Accepts the following message:

    SetMobileServiceModeMapi

    Set the Mobile Service mode for the installation. This change is permanent and cannot be undone, proceed with caution.
    Attempting to change the mode once it has been set will be ignored and not throw any errors. Additionally, 'XMS' is the mode every installation runs in by default and will not have any effect if set.

    Required permission: ChangePartitionSettings

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetPersonPersonalReferenceDurationMapi

    • #Command

    Accepts the following message:

    SetPersonPersonalReferenceDurationMapi

    Set the default value for personal reference duration in the installation settings.

    Required permission: ConfigureDefaultLoggingPersonalDataForPerson

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetPersonalReferenceDurationForInstallationPointMapi

    • #Command

    Accepts the following message:

    SetPersonalReferenceDurationForInstallationPointMapi

    Required permission: ConfigureLoggingPersonalDataForInstallationPoint

    Events confirming this command:

     • InstallationPointChanged

    object

    Examples

  • PUB xs3/1/cmd/SetPersonalReferenceDurationInPersonMapi

    • #Command

    Accepts the following message:

    SetPersonalReferenceDurationInPersonMapi

    Required permission: ConfigureLoggingPersonalDataForPerson

    Events confirming this command:

     • PersonChanged

    object

    Examples

  • PUB xs3/1/cmd/SetPhoneNumberOnSmartphoneMapi

    • #Command

    Accepts the following message:

    SetPhoneNumberOnSmartphoneMapi

    Required permission: SetMediumLabel

    Events confirming this command:

     • MediumChanged

     • PhoneNumberChanged

    object

    Examples

  • PUB xs3/1/cmd/SetReplacementMediumDurationMapi

    • #Command

    Accepts the following message:

    SetReplacementMediumDurationMapi

    Required permission: SetDefaultAccessDurationForReplacedMedium

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/SetValidityDurationMapi

    • #Command

    Accepts the following message:

    SetValidityDurationMapi

    Required permission: ChangeValidityDurationOnMedium

    Events confirming this command:

     • MediumChanged

    object

    Examples

  • PUB xs3/1/cmd/SetValidityThresholdMapi

    • #Command

    Accepts the following message:

    SetValidityThresholdMapi

    Required permission: ConfigureValidityThreshold

    Events confirming this command:

     • PartitionChanged

    object

    Examples

  • PUB xs3/1/cmd/UnassignPersonFromMediumMapi

    • #Command

    Accepts the following message:

    UnassignPersonFromMediumMapi

    Required permission: AssignMediumToPerson

    Events confirming this command:

     • MediumChanged

     • MediumPersonChanged

    object

    Examples

  • PUB xs3/1/cmd/UnregisterSmartphoneMapi

    • #Command

    Accepts the following message:

    UnregisterSmartphoneMapi

    Required permission: ChangeIssuedMedium

    Events confirming this command:

     • SmartphoneUnregistered

    object

    Examples

  • PUB xs3/1/cmd/WithdrawAuthorizationProfileFromMediumMapi

    • #Command

    Accepts the following message:

    WithdrawAuthorizationProfileFromMediumMapi

    or at AuthorizationProfileWithdrawnFromMedium.

    Required permission: WithdrawAllAuthorizations

    Events confirming this command:

     • AuthorizationProfileWithdrawnFromMedium

    object

    Examples

  • SUB xs3/1/mss/ces/SmartphoneLocked

    • #Self Service Mode Events

    Accepts the following message:

    SmartphoneLocked

    Event to indicate that the smartphone has been locked.

    Required permission: ViewMedium

    Commands confirmed by this event:

     • LockMediumMapi

    object

    Examples

  • SUB xs3/1/mss/ces/SmartphoneRevokeConfirmed

    • #Self Service Mode Events

    Accepts the following message:

    SmartphoneRevokeConfirmed

    Event to indicate that a Smartphone revoke has been successfully confirmed.

    Required permission: ViewMedium

    Commands confirmed by this event:

     • ConfirmSmartphoneRevokeMapi (Only in Self Service Mode)

    object

    Examples

  • SUB xs3/1/mss/ces/SmartphoneRevokePending

    • #Self Service Mode Events

    Accepts the following message:

    SmartphoneRevokePending

    Event to indicate that a Smartphone revoke is pending.

    Required permission: ViewMedium

    object

    Examples

  • SUB xs3/1/mss/ces/SmartphoneUpdateConfirmed

    • #Self Service Mode Events

    Accepts the following message:

    SmartphoneUpdateConfirmed

    Event to indicate that a Smartphone update has been successfully confirmed.

    Required permission: ViewMedium

    Commands confirmed by this event:

     • ConfirmSmartphoneUpdateMapi (Only in Self Service Mode)

    object

    Examples

  • SUB xs3/1/mss/ces/SmartphoneUpdatePending

    • #Self Service Mode Events

    Accepts the following message:

    SmartphoneUpdatePending

    Event indicating that a smartphone update is pending.

    Required permission: ViewMedium

    object

    Examples

  • PUB xs3/1/mss/cmd/ConfirmSmartphoneRevokeMapi

    • #Self Service Mode Commands

    Accepts the following message:

    ConfirmSmartphoneRevokeMapi

    Command to confirm a pending smartphone revoke.

    Required permission: ViewMedium

    Events confirming this command:

     • SmartphoneRevokeConfirmed (Only in Self Service Mode)

    object

    Examples

  • PUB xs3/1/mss/cmd/ConfirmSmartphoneUpdateMapi

    • #Self Service Mode Commands

    Accepts the following message:

    ConfirmSmartphoneUpdateMapi

    Command to confirm a pending smartphone update.

    Required permission: ViewMedium

    Events confirming this command:

     • SmartphoneUpdateConfirmed (Only in Self Service Mode)

    object

    Examples

  • PUB xs3/1/q

    • #Query

    Accepts the following message:

    ApiQueryRequest

    Request payload for queries.
    To get the wanted resource, you need to have the needed permissions for access as described below..

    Resource                                     Item permission                             List permission
    access-protocol - ViewAccessProtocol
    authorization-profiles ViewAuthorizationProfile ViewAllAuthorizationProfiles
    calendars ViewCalendar ViewAllCalendars
    coding-stations ViewCodingStation ViewAllCodingStations
    evva-components ViewInstallationPoint ViewAllInstallationPoints
    identification-media ViewMedium ViewAllIdentificationMedia
    identification-media-access-data ViewMedium ViewAllIdentificationMedia
    installation-points ViewInstallationPoint ViewAllInstallationPoints
    office-modes - ViewAllOfficeModes
    persons ViewPerson ViewAllPersons
    time-profiles ViewTimeProfile ViewAllTimeProfiles
    users - ViewAllUsers
    zones ViewZone ViewAllZones
    object

    Examples

  • SUB xs3/1/{userId}/LoggedIn

    userId
    required
    string
    uid: userId

    The user id.

    • #Session

    Accepts the following message:

    LoginPerformed

    Topic to get the token for the given user after login, to publish all other commands.

    object

    Examples

  • SUB xs3/1/{userId}/err

    userId
    required
    string
    uid: userId

    The user id.

    • #Errors

    Accepts the following message:

    ApiError

    Topic to get error messages for the given user.

    object

    Examples

  • SUB xs3/1/{userId}/q

    userId
    required
    string
    uid: userId

    The user id.

    • #Query

    Accepts one of the following messages:

    • #0QueryResponse-authorization-profiles
      object

      Examples

    • #1QueryResponse-access-protocol
      object

      Examples

    • #2QueryResponse-installation-points
      object

      Examples

    • #3QueryResponse-office-modes
      object

      Examples

    • #4QueryResponse-identification-media-access-data
      object

      Examples

    • #5QueryResponse-users
      object

      Examples

    • #6QueryResponse-zones
      object

      Examples

    • #7QueryResponse-time-profiles
      object

      Examples

    • #8QueryResponse-identification-media
      object

      Examples

    • #9QueryResponse-evva-components
      object

      Examples

    • #10QueryResponse-coding-stations
      object

      Examples

    • #11QueryResponse-persons
      object

      Examples

    • #12QueryResponse-calendars
      object

      Examples

Schemas

  • Boolean
    boolean
    uid: Boolean
  • ByteArray
    string
    uid: ByteArray

    An array of bytes represented as a Base64 encoded string

  • object
    uid: InetAddress
  • Integer
    integer
    format: int32uid: Integer
  • LocalDate
    string
    format: dateuid: LocalDate

    Local date. Example: 2018-02-25

  • LocalDateTime
    string
    format: date-timeuid: LocalDateTime

    Local date & time. Example: 2018-02-25T23:59

  • LocalTime
    string
    format: timeuid: LocalTime

    Local time. Example: 23:59

  • Long
    integer
    format: int64uid: Long
  • object
    uid: Map
  • object
    uid: OffsetDateTime
  • Short
    integer
    format: int32uid: Short
  • String
    string
    uid: String
  • UUID
    string
    format: uuiduid: UUID

    Universally Unique Identifier

  • object
    uid: ZoneOffset
  • object
    uid: ZoneOffsetTransition
  • boolean
    boolean
    uid: boolean
  • char
    string
    format: charuid: char
  • int
    integer
    format: int32uid: int
  • long
    integer
    format: int64uid: long
  • short
    integer
    format: int32uid: short