Skip to content

Migrate from the legacy API

Operation and field mapping from the legacy Sign In API to the Sign In API of the Platform API.

Mapping from the legacy Sign In API to the Sign In API. Both APIs are available. A Legacy API key does not work with the Sign In API, and an API key from the Applications page does not work with the legacy API.

APIBase
Legacy APIhttps://<API host>/v1/org/{organizationId}/contexts/sign-in/{contextId}
Sign In APIhttps://<API host>/api/v2/organizations/{organizationId}/contexts/sign-in/{contextId}

Both are served from the same API host. The API base URL on the Applications page ends in /api/v2; the legacy paths start right after the host.

Paths are relative to the bases above.

OperationLegacy APISign In API
Create a whitelistingPOST .../modules/whitelistingsPOST .../whitelistings
Update a whitelistingPUT .../modules/whitelistingsPUT .../whitelistings/{whitelistingId}
Create whitelistings in a batchPOST .../modules/whitelistings/batch/addPOST .../whitelistings/batch-create
End whitelistings in a batchPOST .../modules/whitelistings/batch/removePOST .../whitelistings/batch-revoke
List active whitelistingsGET .../modules/whitelistings/activeGET .../whitelistings
Add email patternsPOST .../policies/{accessPolicyId}/emailsPOST .../access-policies/{policyId}/email-patterns/add
Remove email patternsDELETE .../policies/{accessPolicyId}/emailsPOST .../access-policies/{policyId}/email-patterns/remove

The Sign In API also lists, reads, creates, updates and deletes access policies. The legacy API changes only their email patterns.

  • Authentication. Authorization: Bearer <token> instead of the x-auth-token header.
  • API key scope. A Legacy API key belongs to one Sign-In Context. An API key from the Applications page belongs to the Organization and holds separate API permissions in each Sign-In Context.
  • IP access list. Each API key has its own IP access list. The Admin Dashboard Access list in Organization Settings no longer decides which addresses can call the API. While it is limited to specific networks, Require IP access list stays on.
  • Errors. Every error is application/problem+json with a stable errorCode; see Errors.
  • The policy is named by its ID. The Sign In API names the access policy by its policyId in the path, and default is not accepted. Find the ID with List access policies.
  • Pagination. The list of active whitelistings is paginated with limit and cursor and returns whole whitelistings instead of MAC addresses; see Pagination.
  • Batches. A batch returns one result per item, in the order sent, with an outcome for each, instead of lists of MAC addresses or patterns. An item listed twice returns 400.
  • Resource IDs in the path. A whitelisting is updated by its whitelistingId in the path, not by a field in the body.
  • Created objects. Creating a whitelisting returns 201 with the new whitelisting and a Location header with its path.
  • No end date. A whitelisting without an end date has expiresAt null.
  • MAC addresses. aa:bb:cc:dd:ee:ff only, in upper or lower case. Dashes are not accepted.
  • Revoking access. When email patterns are removed, revokeAccess defaults to false. The legacy revokeUserEngagement defaulted to true.
OperationLegacy fieldSign In API field
Create or update a whitelistingtoDatevalidUntil. Unchanged meaning: valid through the end of that day.
Create or update a whitelistingtags[].valuetags[], plain strings
Create a whitelistingid in the bodyNot sent. The response carries the new whitelistingId.
Update a whitelistingid in the bodywhitelistingId in the path
Update a whitelistingmac in the bodyNot sent. The whitelisting keeps its device.
Create whitelistings in a batchautoGenerateTagstagsFromDescription
Create whitelistings in a batchautoGenerateDateTagbatchTimeTag
Create whitelistings in a batchcreatedWhitelistingMacsresults[] entries with the outcome CREATED
Create whitelistings in a batchexistingWhitelistingMacsresults[] entries with the outcome UPDATED
Create whitelistings in a batchfaultyRequests, the refused entriesresults[] entries with the outcome REJECTED and a reason
Create whitelistings in a batchupdatedLoginsNot returned
End whitelistings in a batchmacs[], objects with a mac fieldmacs[], plain strings
End whitelistings in a batchnrOfWhitelistingsInRevokeRequestNot returned. results[] has one entry per device.
End whitelistings in a batchnrOfWhitelistingsThatHadActiveLoginsThatWereRevokedNot returned. results[] entries with the outcome ENDED are the whitelistings that were ended.
List active whitelistingsAn array of MAC addressesitems[], whole whitelistings, one page at a time
Add email patternsemailsemailPatterns
Add email patternsResponse policyEmailsResponse emailPatterns
Add email patternsResponse warnings[], with email and reasonResponse results[], one entry per pattern with the outcome ADDED, ALREADY_IN_POLICY or IN_OTHER_POLICY
Remove email patternsemailsemailPatterns
Remove email patternsrevokeUserEngagement, default truerevokeAccess, default false
Remove email patternsResponse policyEmailsResponse emailPatterns
Remove email patternsResponse removedEmails[].emailresults[].emailPattern, with the outcome REMOVED or NOT_IN_POLICY
Remove email patternsremovedEmails[].revokedLoginsForSelfProvisioningresults[].revoked.selfProvisioningLogins
Remove email patternsremovedEmails[].revokedLoginsForMeetingHostresults[].revoked.meetingHostLogins
Remove email patternsremovedEmails[].revokedWhitelistingresults[].revoked.whitelistings
Remove email patternsremovedEmails[].revokeLoginsforConferencesNot returned