AccessControl Changelog
2.2.1-rc.1
Rolls the published reference forward from 2.0.0-rc.1 and bundles every change made since then (2.0.1 to 2.2.1).
Server URL
The reference now uses the public base URL /api/v2, so the operations are reached at /api/v2/access/... (e.g. GET /api/v2/access/keys). The previous reference combined /api/v1/access with paths that already start with /access, which doubled the prefix. The operation paths themselves are unchanged.
Breaking changes
- Keys:
startTimeandendTimein key responses can benull. - Keys: key responses no longer contain
providerIdandtype. - Keys:
POST /access/controllers/{controllerId}/keyandPUT /access/keys/{keyId}take a singleKeyobject instead of a choice betweenKeyCardandPinCode. - Units:
codein unit responses can benull.
New
- Batch key creation:
POST /access/controllers/{controllerId}/keys(experimental). - Key reconciliation for a stay:
PUT /access/controllers/{controllerId}/keys/by-reservation/{stayExternalId}. - Card dispenser operations under
/access/dispensers: status, set state, place card, and reset the cache for one dispenser or for all of them. - Provider capabilities and extensions:
GET /access/providers/{configurationId}/capabilitiesandGET /access/providers/{configurationId}/extensions/{extensionName}. - Error responses (
400,404,422,500,502) are documented as RFC 9457 ProblemDetails (application/problem+json).
Changed
- The documentation now states the rules under which a key request is rejected.
Changes since 2.0.0-rc.1. Operations: 9 added, 9 changed, 0 removed · 20 breaking changes
Detected breaking changes
20 breaking changes in 8 operations
GET /access/controllers/{controllerId}/key- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/endTime' became nullable for the status '200'
- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/startTime' became nullable for the status '200'
GET /access/keys- the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Key]/endTime' became nullable for the status '200'
- the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Key]/startTime' became nullable for the status '200'
- removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #4 -> subschema #3]/providerId' from the response with the '200' status
- removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #4 -> subschema #3]/type' from the response with the '200' status
GET /access/keys/{keyId}- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/endTime' became nullable for the status '200'
- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/startTime' became nullable for the status '200'
- removed the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/providerId' from the response with the '200' status
- removed the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/type' from the response with the '200' status
GET /access/units- the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit]/code' became nullable for the status '200'
GET /access/units/{unitId}- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit]/code' became nullable for the status '200'
POST /access/controllers/{controllerId}/key- added '#/components/schemas/Key, #/components/schemas/ResponseWithIdentifier, subschema #3' to the request body 'allOf' list
- removed 'subschema #1: KeyCard, subschema #2: PinCode' from the request body 'oneOf' list
- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/endTime' became nullable for the status '201'
- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/startTime' became nullable for the status '201'
- removed the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/type' from the response with the '201' status
POST /access/units- the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit]/code' became nullable for the status '201'
PUT /access/keys/{keyId}- added '#/components/schemas/Key, #/components/schemas/ResponseWithIdentifier, subschema #3' to the request body 'allOf' list
- the request's body type/format changed from 'object'/'' to ''/''
Operations
POST /access/controllers/{controllerId}/keysaddedPUT /access/controllers/{controllerId}/keys/by-reservation/{stayExternalId}addedGET /access/dispensers/{dispenserId}/statusaddedPUT /access/dispensers/{dispenserId}/status/{state}addedPUT /access/dispensers/{dispenserId}/place-card/{cardPosition}addedPOST /access/dispensers/{dispenserId}/reset-cacheaddedPOST /access/dispensers/reset-all-cacheaddedGET /access/providers/{configurationId}/capabilitiesaddedGET /access/providers/{configurationId}/extensions/{extensionName}addedGET /access/controllers/{controllerId}/keychangedGET /access/keyschangedGET /access/keys/{keyId}changedGET /access/unitschangedGET /access/units/{unitId}changedPOST /access/controllers/{controllerId}/keychangedPOST /access/unitschangedPUT /access/keys/{keyId}changedPUT /access/units/{unitId}changed
All 92 changes in detail
GET /access/controllers/{controllerId}/key- added the media type 'application/problem+json' for the response with the status '500'
- added the non-success response with the status '404'
- added the non-success response with the status '502'
- removed the optional property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/type' from the response with the '200' status
- removed '#/components/schemas/KeyTypeKeycard' from the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/endTime' became nullable for the status '200'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/startTime' became nullable for the status '200'
- added discriminator to '/allOf[subschema #2]/data' response property for the response status '200'
- added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/providerId' to the response with the '200' status
- added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/type' to the response with the '200' status
- added the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/keyType' to the response with the '200' status
GET /access/dispensers/{dispenserId}/status- endpoint added
GET /access/keys- added the new optional 'query' request parameter 'filter'
- added the new optional 'query' request parameter 'page'
- added the non-success response with the status '400'
- added the non-success response with the status '500'
- removed '#/components/schemas/KeyTypes' from the '/allOf[subschema #2]/data/items/' response property 'allOf' list for the response status '200'
- breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Key]/endTime' became nullable for the status '200'
- breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Key]/startTime' became nullable for the status '200'
- added discriminator to '/allOf[subschema #2]/data/items/' response property for the response status '200'
- added the required property '/allOf[subschema #2]/data/items/allOf[subschema #1: Key]/providerId' to the response with the '200' status
- added the required property '/allOf[subschema #2]/data/items/allOf[subschema #1: Key]/type' to the response with the '200' status
- added the required property '/allOf[subschema #2]/data/items/allOf[subschema #4 -> subschema #3]/keyType' to the response with the '200' status
- breaking: removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #4 -> subschema #3]/providerId' from the response with the '200' status
- breaking: removed the required property '/allOf[subschema #2]/data/items/allOf[subschema #4 -> subschema #3]/type' from the response with the '200' status
GET /access/keys/{keyId}- added the non-success response with the status '404'
- added the non-success response with the status '500'
- removed '#/components/schemas/KeyTypes' from the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '200'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/endTime' became nullable for the status '200'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/startTime' became nullable for the status '200'
- added discriminator to '/allOf[subschema #2]/data' response property for the response status '200'
- added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/providerId' to the response with the '200' status
- added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/type' to the response with the '200' status
- added the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/keyType' to the response with the '200' status
- breaking: removed the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/providerId' from the response with the '200' status
- breaking: removed the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/type' from the response with the '200' status
GET /access/providers/{configurationId}/capabilities- endpoint added
GET /access/providers/{configurationId}/extensions/{extensionName}- endpoint added
GET /access/units- added the new optional 'query' request parameter 'filter'
- added the new optional 'query' request parameter 'page'
- added the non-success response with the status '400'
- added the non-success response with the status '500'
- breaking: the response property '/allOf[subschema #2]/data/items/allOf[subschema #1: Unit]/code' became nullable for the status '200'
GET /access/units/{unitId}- added the non-success response with the status '404'
- added the non-success response with the status '500'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit]/code' became nullable for the status '200'
POST /access/controllers/{controllerId}/key- breaking: added '#/components/schemas/Key, #/components/schemas/ResponseWithIdentifier, subschema #3' to the request body 'allOf' list
- added request discriminator
- breaking: removed 'subschema #1: KeyCard, subschema #2: PinCode' from the request body 'oneOf' list
- added the non-success response with the status '400' (and 3 more of
response-non-success-status-added) - removed '#/components/schemas/KeyTypes' from the '/allOf[subschema #2]/data' response property 'allOf' list for the response status '201'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/endTime' became nullable for the status '201'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/startTime' became nullable for the status '201'
- added discriminator to '/allOf[subschema #2]/data' response property for the response status '201'
- added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/providerId' to the response with the '201' status
- added the required property '/allOf[subschema #2]/data/allOf[subschema #1: Key]/type' to the response with the '201' status
- added the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/keyType' to the response with the '201' status
- breaking: removed the required property '/allOf[subschema #2]/data/allOf[subschema #4 -> subschema #3]/type' from the response with the '201' status
POST /access/controllers/{controllerId}/keys- endpoint added
POST /access/dispensers/reset-all-cache- endpoint added
POST /access/dispensers/{dispenserId}/reset-cache- endpoint added
POST /access/units- the request property 'code' became nullable
- added the non-success response with the status '400'
- added the non-success response with the status '422'
- added the non-success response with the status '500'
- breaking: the response property '/allOf[subschema #2]/data/allOf[subschema #1: Unit]/code' became nullable for the status '201'
PUT /access/controllers/{controllerId}/keys/by-reservation/{stayExternalId}- endpoint added
PUT /access/dispensers/{dispenserId}/place-card/{cardPosition}- endpoint added
PUT /access/dispensers/{dispenserId}/status/{state}- endpoint added
PUT /access/keys/{keyId}- breaking: added '#/components/schemas/Key, #/components/schemas/ResponseWithIdentifier, subschema #3' to the request body 'allOf' list
- added request discriminator
- breaking: the request's body type/format changed from 'object'/'' to ''/''
- removed the request property 'authorizations' (and 8 more of
request-property-removed)
PUT /access/units/{unitId}- the request property 'code' became nullable
null null- removed the schema 'AccessControlProviderBaseConfiguration' (and 6 more of
api-schema-removed)
- removed the schema 'AccessControlProviderBaseConfiguration' (and 6 more of
2.0.0-rc.1
Operations: 12 operations added, 22 removed
specification details:
- /x-tagGroups/0/tags/0, /x-tagGroups/0/tags/1 added
- /x-tagGroups/0/name, /tags/3/name, /tags/3/description, /info/version, /info/description changed
- /x-tagGroups/1, /x-tagGroups/0/tags/0, /x-tagGroups/0/tags/1, /x-tagGroups/0/tags/2 removed
POST /providers: removed
GET /providers: removed
GET /providers/{providerId}: removed
PUT /providers/{providerId}: removed
DELETE /providers/{providerId}: removed
GET /providers/{providerId}/controllers: removed
POST /providers/{providerId}/controllers: removed
DELETE /providers/{providerId}/controllers/{controllerId}: removed
GET /providers/{providerId}/controllers/{controllerId}: removed
PUT /providers/{providerId}/controllers/{controllerId}: removed
GET /units: removed
POST /units: removed
GET /units/{unitId}: removed
DELETE /units/{unitId}: removed
PUT /units/{unitId}: removed
POST /controllers/{controllerId}/key: removed
GET /controllers/{controllerId}/key: removed
DELETE /controllers/{controllerId}/key: removed
GET /keys: removed
GET /providers/{providerId}/keys/{keyId}: removed
PUT /providers/{providerId}/keys/{keyId}: removed
DELETE /providers/{providerId}/keys/{keyId}: removed
GET /access/units: added
POST /access/units: added
GET /access/units/{unitId}: added
DELETE /access/controllers/{controllerId}/key: added
GET /access/keys: added
GET /access/keys/{keyId}: added
PUT /access/keys/{keyId}: added
DELETE /access/keys/{keyId}: added
0.2.0-rc.9
Operations: 3 operations added, 19 changed, 3 removed
specification details:
- /info/version changed
POST /controllers/{controllerId}/key: removed
GET /controllers/{controllerId}/key: removed
DELETE /controllers/{controllerId}/key: removed
GET /controllers/{controllerId}/keys: added
POST /controllers/{controllerId}/keys: added
DELETE /controllers/{controllerId}/keys: added
DELETE /providers/{providerId}/keys/{keyId}:
-
/description changed
-
header parameter Accept: added
-
response 200: added
-
response 204: removed PUT /providers/{providerId}/keys/{keyId}:
-
header parameter Accept: added
-
request:
- body application/vnd.api+json:
- property /schema/properties/unitName: removed
- property /schema/properties/unit: added
- property /schema/properties/deAuthorizations: changed
- property /schema/properties/authorizations: changed
- body application/vnd.api+json:
-
response 200: added
-
response 204: removed GET /providers/{providerId}/keys/{keyId}:
-
header parameter Accept: added
GET /keys:
-
header parameter Accept: added
-
response 200:
- body application/vnd.api+json:
- property /schema/properties/links: added PUT /units/{unitId}:
- body application/vnd.api+json:
-
header parameter Accept: added
-
response 200: added
-
response 204: removed DELETE /units/{unitId}:
-
/summary changed
-
header parameter Accept: added
GET /units/{unitId}:
- header parameter Accept: added
POST /units:
- header parameter Accept: added
GET /units:
-
header parameter Accept: added
-
response 200:
- body application/vnd.api+json:
- property /schema/properties/links: changed
- property /schema/properties/links/properties/self: changed PUT /providers/{providerId}/controllers/{controllerId}:
- body application/vnd.api+json:
-
/deprecated removed
GET /providers/{providerId}/controllers/{controllerId}:
- /deprecated removed
DELETE /providers/{providerId}/controllers/{controllerId}:
-
/deprecated removed
-
response 200: added
-
response 204: removed POST /providers/{providerId}/controllers:
-
/deprecated removed
-
header parameter Accept: added
GET /providers/{providerId}/controllers:
-
/deprecated removed
-
header parameter Accept: added
-
response 200:
- body application/vnd.api+json:
- property /schema/properties/links: changed
- property /schema/properties/links/properties/self: changed DELETE /providers/{providerId}:
- body application/vnd.api+json:
-
/deprecated removed
-
header parameter Accept: added
-
response 200: added
-
response 204: removed PUT /providers/{providerId}:
-
/deprecated removed
-
header parameter Accept: added
GET /providers/{providerId}:
-
/deprecated removed
-
header parameter Accept: added
-
response 200:
- body application/vnd.api+json:
- property : changed
- property /schema/oneOf/2/properties/data: changed
- property /schema/oneOf/2/properties/data/properties/type: changed
- property /schema/oneOf/2/properties/data/properties/id: changed
- property /schema/oneOf/1/properties/data: changed
- property /schema/oneOf/1/properties/data/properties/type: changed
- property /schema/oneOf/1/properties/data/properties/id: changed
- property /schema/oneOf/0/properties/data: changed
- property /schema/oneOf/0/properties/data/properties/type: changed
- property /schema/oneOf/0/properties/data/properties/id: changed GET /providers:
- body application/vnd.api+json:
-
/deprecated removed
-
header parameter Accept: added
-
response 200:
- body application/vnd.api+json:
- property /schema/oneOf/2/properties/links: added
- property /schema/oneOf/1/properties/links: added
- property /schema/oneOf/0/properties/links: added POST /providers:
- body application/vnd.api+json:
-
/deprecated removed
-
header parameter Accept: added
0.2.0-rc.7
Deprecated all /providers/* and /controllers/* endpoints. These endpoints will be removed in the next release and were only aliases for the configuration api.
Operations: 5 operations added, 2 changed, 4 removed
specification details:
- /tags/1/description, /info/version changed
GET /providers/{providerId}/controllers/{controllerId}/keys: removed
POST /providers/{providerId}/controllers/{controllerId}/keys: removed
DELETE /providers/{providerId}/controllers/{controllerId}/keys: removed
GET /providers/{providerId}/keys: removed
GET /controllers/{controllerId}/keys: added
POST /controllers/{controllerId}/keys: added
DELETE /controllers/{controllerId}/keys: added
PUT /providers/{providerId}/keys/{keyId}:
- request:
- body application/vnd.api+json:
- property /schema/properties/start: removed
- property /schema/properties/end: removed
- property /schema/properties/startDate: added
- property /schema/properties/endDate: added
- property /schema/properties/startTime: added
- property /schema/properties/endTime: added DELETE /units/{unitId}: added
- body application/vnd.api+json:
PUT /units/{unitId}: added
POST /units:
- request:
- body application/vnd.api+json:
- property /schema/properties/providerId: changed
- body application/vnd.api+json:
0.2.0-rc.6
Initial public release candidate 0.2.0-rc.6