Skip to content

Mobile Identities v2.2

HID Origo Mobile Identities is a cloud service that provides trusted virtual credentials for authentication to physical access and extended applications in workplaces. The API enables developers to integrate administration capabilities such as user, device and credential management into custom applications.

This document provides a high level overview of the system and a specification for the API, version 2.2.

Architecture

The following image provides an overview of the solution architecture:

HID Origo Mobile Identities Solution Overview

Entity Description
Custom Application Your application, interfacing with the HID Origo Mobile Identities API to manage user enrollment and credential provisioning and lifecycle management. Your application may also, optionally, subscribe to callback events to receive information about state changes for users, devices and credentials.
HID Origo Mobile Identities API The API described in this document.
Identity Provider The system used for authentication. Your application interfaces with this system to generate authentication tokens. Refer to Authentication for more information.
Mobile App A mobile app embedding the HID Origo Mobile SDK, such as the HID Mobile Access app.

Invitation and Device Lifecycle

Invitation Code Lifecycle

An Invitation Code typically goes through the steps outlined below. For this sequence, it is assumed a user record already exists.

Step Action Description
1 Create Invitation Code The application requests creation of an Invitation Code. At this point a Mobile ID can also be attached to the Invitation Code.
2 Return Invitation Code Invitation Code status: PENDING.
3 Distribute Invitation Code This can happen using any channel, such as through Push Notification. Distribution via email is supported directly in the API (provided user has an email address)
4 Acknowledge Invitation Code Invitation Code is entered into an app embedding the HID Origo Mobile SDK. Depending on the result, the Invitation Code status changes to: ACKNOWLEDGED | NOT_SUPPORTED | FAILED. If the Invitation Code redemption is successful, a Credential Container resource is created and will eventually reach an ACTIVE state. Mobile IDs can only be issued to Credential Containers which in the ACTIVE state.
5 Callback Event If the application has subscribed to callback notifications, Invitation Code status updates will be provided as part of a callback Notification in the invitations field. Credential Container status changes are provided in the credentialContainers field.

Mobile ID Lifecycle

Mobile ID Lifecycle

For this sequence, it is assumed the Credential Container is in ACTIVE state. Mobile IDs can however be attached to an Invitation Code through properties on the UserAction object.

Step Action Description
1 Issue Mobile ID The application requests issuance of a Mobile ID to a specified Credential Container.
2 Prepare Mobile ID HID Origo makes the Mobile ID available for download.
3 Return Card Number The Card Number for the allocated Mobile ID is returned. Credential status: ISSUE_INITIATED.
4 Mobile App Downloads Mobile ID The Mobile App must initiate a connection to download the Mobile ID. With the HID Mobile Access app, this is initiated through a push notification. For custom apps using the HID Origo Mobile SDK, other mechanisms can be implemented.
5 Callback Event If the application has subscribed to callback notifications, Mobile ID status updates will be provided as part of a callback Notification in the credentials field. Successful delivery of a Mobile ID is reported through the ISSUED status.
6 Revoke Mobile ID Once a Mobile ID is in the ISSUED state, it can be revoked using the DELETE method against a specified {credential_id}. This operation automatically happens if either the User or Credential Container is deleted.
7 Mobile App Downloads Revoke instruction The Mobile App must initiate a connection to download the Mobile ID revoke instructions.
8 Callback Event If the application has subscribed to callback notifications, the Mobile ID REVOKE_INITIATED and REVOKED callbacks will be provided. If the operation is not successful, for example because the device is offline, the REVOKING_FAILURE status may be returned.

Specification

The Mobile Identities API version 2.2 is provided as an OpenAPI specification below. Additionally, a PDF version is made available for reference.

Note

Some functionality is currently not available in the Partner Integration environment.

What's New

October 2021

  • Added optional phoneNumbers field for Users
  • Added hceCapability field for Credential Containers
  • Deprecated Callback APIs: Refer to Events and Callbacks API

August 2023

  • Support for additional fields(Email Address, Phone Number, Web Page URL, and the Font Color) to be displayed at the back of the card for Mobile Access for API customers (2.2)

January 2024

  • What’s new in version
    • MA 2.0 API Shutdown Implementation Steps.
    • Customers in 2.1 or 2.2 who do not include content-type/Accept in the request headers are affected.

Glossary

Term Definition
Application-ID The Application Identifier is used to identify an application calling HID Origo APIs. This value is provided by HID Partner Services. Please refer to Authentication for additional details.
CorrelationId HTTP header returned for most requests, which should be included, in addition to timestamps, when logging support requests.
Credential Container A device that is capable of storing Credentials, for example, mobile phones, tablets and wearables. Credential Containers are registered by consuming an Invitation Code in an application embedding the HID Origo Mobile SDK. Also referred to as device, mobile device, endpoint.
Invitation Code Invitation Codes are issued to users as the first step in registering a new device (see Credential Container). Invitation Codes consist of a 16-character alphanumerical sequence and are used to authenticate devices and associate them with the relevant user. Also referred to as Invitation, UserInvitation.
Mobile ID Virtual representation of a Seos® credential, stored securely within a Credential Container. Also referred to as Credential.
Part Number A Part Number refers to a type of Mobile ID available for issuance for a given organization. One organization may have one or many Part Numbers available for selection. The Part Numbers available for an organization are listed in the 'Mobile IDs' section in the portal. Each Part Number has a reference, such as "MOBILE-ID_FTPN_1000" or "CRD633ZZ-01234", which is referenced when requesting issuance of Mobile IDs.
SCIM System for Cross-Domain Identity Management: a widely adopted specification for managing user identities in cloud-based applications. SCIM Overview

Known Limitations

The following is a list of known limitations with the current release of the HID Origo Mobile Identities API:

  • The Accept HTTP header only has limited support. Content-Type should be included with requests without a payload to control versioning of the API.
  • The cardNumber property may be both of string and number type depending on endpoint called.
  • If the description field is included in the list of attributes when searching for Part Numbers, the field will be named undefined in the response.
  • Photo ID: The returned Content-Type HTTP header is image/jpg for png images
  • Search API Restriction: All Search API endpoints impose a limit of 20,886 characters on the filter set.

Steps for Version Upgrade

API life cycle

API version Life Cycle Status Dates Comments
2.2 General Availability - Supported
2.1 General Availability - Supported
2.0 Deprecated September 17, 2022 Limited support. Will retire on February 29, 2024

2.0 API Shutdown Implementation Steps

MA API 2.0 Customers: (Applicable to all APIs)

MA API 2.1 Customers: (Applicable to both get and delete API)

  • For customers who uses content-type/Accept header as 2.1/2.2 in the request - No actions required.
  • For customers not using content type/Accept header in the request – Refer the 2.2 response schema in API docs.

MA API 2.2 Customers: (Applicable to both get and delete API)

  • For customers who uses content-type/Accept header as 2.2 in the request - No actions required.
  • For customers not using content type/Accept header in the request – Refer the 2.2 response schema in API docs.

Sample Response Schema For 2.1 & 2.2 APIs

2.0 API Response Schema 2.1 API Response Schema

Customers start using 2.1 Content-Type/Accept headers in the request

2.2 API Response Schema

Not using Content-Type/Accept or Customers start using 2.2 Content-Type/Accept Header in the request

"schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.0:UserInvitation", "urn:hid:scim:api:ma:2.0:CredentialContainer", "urn:hid:scim:api:ma:2.0:Credential", "urn:hid:scim:api:ma:2.0:PartNumber" "urn:hid:scim:api:ma:2.0:LicenseInfo" "urn:hid:scim:api:ma:2.0:Error"" ] "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.1:UserInvitation", "urn:hid:scim:api:ma:2.1:CredentialContainer", "urn:hid:scim:api:ma:2.1:Credential", "urn:hid:scim:api:ma:2.1:LicenseInfo", "urn:hid:scim:api:ma:2.1:User:Photo", "urn:hid:scim:api:ma:2.1:PartNumber", "urn:hid:scim:api:ma:2.1:Error" ] "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.2:UserInvitation", "urn:hid:scim:api:ma:2.2:CredentialContainer", "urn:hid:scim:api:ma:2.2:Credential", "urn:hid:scim:api:ma:2.2:LicenseInfo", "urn:hid:scim:api:ma:2.2:User:Photo", "urn:hid:scim:api:ma:2.2:PartNumber", "urn:hid:scim:api:ma:2.2:Error" ]

[!WARNING]
Failing to adhere the guidelines of API 2.0 shutdown on or before “End of life date” will lead to parsing error in the application if the content type is not specified in request. we always encourage to pass the content type during the implementation.

Upgrade from 2.0 to 2.2

Version 2.1 of the API introduced the Photo ID feature. The changes required to upgrade from version 2.0 to 2.2 are detailed below:

Type of Change 2.0 2.2 Scope
Content-Type Header and Accept HTTP headers application/vnd.assaabloy.ma.credential-management-2.0+json application/vnd.assaabloy.ma.credential-management-2.2+json All APIs
HTTP POST and PUT Request Body data schema Schemas: "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.0:UserAction" ] Example: "urn:hid:scim:api:ma:2.0:UserAction": { "createInvitationCode": "Y", "sendInvitationEmail": "N", "assignCredential": "Y", "partNumber": "MID-SUB-CRD_FTPN_XXXX", "credential": "" } Schemas: "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.2:UserAction" ] Example: "urn:hid:scim:api:ma:2.2:UserAction": { "createInvitationCode": "Y", "sendInvitationEmail": "N", "assignCredential": "Y", "partNumber": "MID-SUB-CRD_FTPN_XXXX", "credential": "" } For Search operations, the schema can be ignored in attributes. Example: "schemas": ["urn:ietf:params:scim:api:messages:2.0:SearchRequest"], "attributes": [ "name.givenName", "name.familyName", "emails.value" ]
  • Create User
  • Update User
  • Create Invitation
  • Issue Credentials
  • All Search APIs
Error Schema urn:hid:scim:api:ma:2.0:Error urn:hid:scim:api:ma:2.2:Error Error Responses

Upgrade from 2.1 to 2.2

Version 2.2 of the API introduced the Custom Mobile ID feature. The changes required to upgrade from version 2.1 to 2.2 are detailed below:

Type of Change 2.1 2.2 Scope
Content-Type Header and Accept HTTP headers application/vnd.assaabloy.ma.credential-management-2.1+json application/vnd.assaabloy.ma.credential-management-2.2+json All APIs
HTTP POST and PUT Request Body data schema Schemas: "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.1:UserAction" ] Example: "urn:hid:scim:api:ma:2.1:UserAction": { "createInvitationCode": "Y", "sendInvitationEmail": "N", "assignCredential": "Y", "partNumber": "MID-SUB-CRD_FTPN_XXXX", "credential": "" } Schemas: "schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User", "urn:hid:scim:api:ma:2.2:UserAction" ] Example: "urn:hid:scim:api:ma:2.2:UserAction": { "createInvitationCode": "Y", "sendInvitationEmail": "N", "assignCredential": "Y", "partNumber": "MID-SUB-CRD_FTPN_XXXX", "credential": "" } For Search operations, the schema can be ignored in attributes. Example: "schemas": ["urn:ietf:params:scim:api:messages:2.0:SearchRequest"], "attributes": [ "name.givenName", "name.familyName", "emails.value" ]
  • Create User
  • Update User
  • Create Invitation
  • Issue Credentials
  • All Search APIs
  • Callback Registration and Update APIs
Error Schema urn:hid:scim:api:ma:2.1:Error urn:hid:scim:api:ma:2.2:Error Error Responses