OathToken service
A REST API towards the Pointsharp ID user’s OATH tokens.
| API | Description |
|---|---|
Get FIDO credential creation options. |
|
Register Fido token for provided user. |
|
Creates a mobile token for provided user and sends activation or download information, if Pointsharp ID is configured to do so. |
|
Creates a login token for provided user and retrieves the configuration profile of the token. |
|
Creates an OATH token for provided user and sends usage information if Pointsharp ID is configured to allow it. |
|
Adds an OATH token to a user by serial number. The serial number is used to retrieve the OATH token settings from any PSKC-formatted files in the /bin/tokens/ folder or from any Pointsharp SDK plug-in implementing the OATH Retrieval API. The possible OATH token platforms are Hardware, HardwareTOTP, MTP or ScratchCard. |
|
Updates an OATH token by resynchronizing its counter until its current One-Time Password (OTP) will match the provided OTP.
|
|
Extend a soon-to-be expired token. |
|
Retrieves the user’s OATH tokens specified by the request. |
|
Removes the user’s OATH token(s) specified by the request. |
POST OathToken/Fido/Options
Get FIDO credential creation options.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
Define this parameter in the request body. |
Parameter information
request
Request used for getting FIDO credential options for registration.
| Property | Description | Additional information |
|---|---|---|
Origin (String) |
Clients Origin. |
This parameter is optional. |
Selection (Int32) |
0: built-in fido authenticators, 1: external|roaming|security key |
This parameter is optional. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"Origin": "sample string 1",
"Selection": 2,
"Username": "sample string 3",
"UserStorageName": "sample string 4"
}
application/xml, text/xml
<FidoOptionsRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 3</Username>
<UserStorageName>sample string 4</UserStorageName>
<Origin>sample string 1</Origin>
<Selection>2</Selection>
</FidoOptionsRequest>
Response information
JSON string of the FIDO credential creation options.
Response body formats
application/json, text/json
{
"Code": 1,
"Message": "sample string 2",
"JsonData": "sample string 3",
"Names": "sample string 4"
}
application/xml, text/xml
<FidoReply xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Code>1</Code>
<Message>sample string 2</Message>
<JsonData>sample string 3</JsonData>
<Names>sample string 4</Names>
</FidoReply>
POST OathToken/Fido
Register Fido token for provided user.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
Define this parameter in the request body. |
Parameter information
request
Contains data used when registering or unregistering a Fido token.
| Property | Description | Additional information |
|---|---|---|
CredentialsJson (String) |
Credentials response given by authenticator token when registering. |
This parameter is optional. |
Name (String) |
Custom name of the fido authenticator. |
This parameter is optional. |
OptionsJson (String) |
Options used for registration/authentication |
This parameter is optional. |
Origin (String) |
Relying party’s origin. |
This parameter is optional. |
SerialNumber (String) |
Serial number of the fido. |
This parameter is optional. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"Name": "sample string 1",
"SerialNumber": "sample string 2",
"CredentialsJson": "sample string 3",
"Origin": "sample string 4",
"OptionsJson": "sample string 5",
"Username": "sample string 6",
"UserStorageName": "sample string 7"
}
application/xml, text/xml
<FidoRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 6</Username>
<UserStorageName>sample string 7</UserStorageName>
<Name>sample string 1</Name>
<SerialNumber>sample string 2</SerialNumber>
<CredentialsJson>sample string 3</CredentialsJson>
<Origin>sample string 4</Origin>
<OptionsJson>sample string 5</OptionsJson>
</FidoRequest>
Response information
If token has been successfully registered to the provided user.
Response body formats
application/json, text/json
{
"Code": 1,
"Message": "sample string 2",
"JsonData": "sample string 3",
"Names": "sample string 4"
}
application/xml, text/xml
<FidoReply xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Code>1</Code>
<Message>sample string 2</Message>
<JsonData>sample string 3</JsonData>
<Names>sample string 4</Names>
</FidoReply>
POST OathToken/Mobile
Creates a mobile token for provided user and sends activation or download information if Pointsharp ID is configured to do so.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request data specifying the mobile token to create and if its activation code should be retrieved or not. |
Define this parameter in the request body. |
Parameter information
request
A specific "send token" request, containing data specifying a mobile token to create.
| Property | Description | Additional information | ||
|---|---|---|---|---|
Name (String) |
The name of the OATH token to send. |
This parameter is required. |
||
OtpLength (Int32) |
The length of the One-Time Password (OTP) of the OATH token to send (this parameter is not applicable for Authenticator implementations). Will be set to default value of the requested platform if ignored. |
This parameter is optional. |
||
Platform (String) |
The platform of the OATH token. |
This parameter is required. |
||
RetrieveActivationCode (Boolean) |
Set to TRUE if activation code is desired when possible.
|
This parameter is optional. |
||
UsePin (Boolean) |
Set to TRUE if the requested mobile token should be PIN enabled. |
This parameter is optional. |
||
Username (String) |
The name of the user. |
This parameter is required. |
||
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"RetrieveActivationCode": true,
"UsePin": true,
"OtpLength": 3,
"Name": "sample string 4",
"Platform": "sample string 5",
"Username": "sample string 6",
"UserStorageName": "sample string 7"
}
application/xml, text/xml
<MobileTokenRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 6</Username>
<UserStorageName>sample string 7</UserStorageName>
<Platform>sample string 5</Platform>
<OtpLength>3</OtpLength>
<Name>sample string 4</Name>
<RetrieveActivationCode>true</RetrieveActivationCode>
<UsePin>true</UsePin>
</MobileTokenRequest>
POST OathToken/Login
Creates a login token for provided user and retrieves the configuration profile of the token.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request specifying the login token. |
Define this parameter in the request body. |
Parameter information
request
Contains data specifying a push token.
| Property | Description | Additional information |
|---|---|---|
Name (String) |
The unique name of the requested OATH token. |
This parameter is optional. |
Platform (String) |
Token platform type OATH, FIDO. |
This parameter is optional. |
SearchMode (Int32) |
Search token by (0 = Name), (1 = Id), for now only used for delete of FIDO tokens. |
This parameter is optional. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"Name": "sample string 1",
"Platform": "sample string 2",
"SearchMode": 3,
"Username": "sample string 4",
"UserStorageName": "sample string 5"
}
application/xml, text/xml
<LoginTokenRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 4</Username>
<UserStorageName>sample string 5</UserStorageName>
<Name>sample string 1</Name>
<Platform>sample string 2</Platform>
<SearchMode>3</SearchMode>
</LoginTokenRequest>
Response information
The configuration profile of the created login token.
Response body formats
application/json, text/json
{
"ConfigurationData": "sample string 1"
}
application/xml, text/xml
<LoginProfile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ConfigurationData>sample string 1</ConfigurationData>
</LoginProfile>
POST OathToken/Send
Creates an OATH token for provided user and sends usage information if Pointsharp ID is configured to allow it.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request data specifying the distributable OATH token to send. |
Define this parameter in the request body. |
Parameter information
request
Contains data specifying an OATH token to create and send.
| Property | Description | Additional information |
|---|---|---|
Name (String) |
The name of the OATH token to send. |
This parameter is required. |
OtpLength (Int32) |
The length of the One-Time Password (OTP) of the OATH token to send (this parameter is not applicable for Authenticator implementations). Will be set to default value of the requested platform if ignored. |
This parameter is optional. |
Platform (String) |
The platform of the OATH token. |
This parameter is required. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"OtpLength": 1,
"Name": "sample string 2",
"Platform": "sample string 3",
"Username": "sample string 4",
"UserStorageName": "sample string 5"
}
application/xml, text/xml
<SendTokenRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 4</Username>
<UserStorageName>sample string 5</UserStorageName>
<Platform>sample string 3</Platform>
<OtpLength>1</OtpLength>
<Name>sample string 2</Name>
</SendTokenRequest>
POST OathToken/SerialNumber
Adds an OATH token to a user by serial number. The serial number is used to retrieve the OATH token settings from any PSKC-formatted files in the /bin/tokens/ folder, or from any Pointsharp SDK plug-in implementing the OATH Retrieval API.The possible OATH token platforms are Hardware, HardwareTOTP, MTP or ScratchCard.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request data specifying the OATH token to add and to whom it should belong. |
Define this parameter in the request body. |
Parameter information
request
Contains data required when requesting an OATH token by serial number.
| Property | Description | Additional information |
|---|---|---|
Platform (String) |
The platform of the OATH token. |
This parameter is required. |
SerialNumber (String) |
The serial number of the OATH token. |
This parameter is required. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"SerialNumber": "sample string 1",
"Platform": "sample string 2",
"Username": "sample string 3",
"UserStorageName": "sample string 4"
}
application/xml, text/xml
<SerialNumberTokenRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 3</Username>
<UserStorageName>sample string 4</UserStorageName>
<Platform>sample string 2</Platform>
<SerialNumber>sample string 1</SerialNumber>
</SerialNumberTokenRequest>
PUT OathToken/Resync
Updates an OATH token by resynchronizing its counter until its current One-Time Password (OTP) will match the provided OTP.
-
HMAC based OTP (HOTP)
The calculations will try to match the given OTP with the upcomming 1000 OTPs starting with the initial counter in the request.
-
Time-Based OTP (TOTP)
The number of tries to find the given OTP is given by the configuration in Pointsharp ID.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request data specifying the OATH token to update. |
Define this parameter in the request body. |
Parameter information
request
Contains data used when resyncing an OATH token.
| Property | Description | Additional information | ||
|---|---|---|---|---|
InitialCounter (Int32) |
The counter to try to resync the OATH token from. Always start with 0. Try a higher value if 0 didn’t succeed.
|
This parameter is optional. |
||
OathTokenName (String) |
The name of the OATH token. |
This parameter is required. |
||
Otp (String) |
The current One-Time Password (OTP) of the OATH token. |
This parameter is required. |
||
Username (String) |
The name of the user. |
This parameter is required. |
||
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"OathTokenName": "sample string 1",
"Otp": "sample string 2",
"InitialCounter": 3,
"Username": "sample string 4",
"UserStorageName": "sample string 5"
}
application/xml, text/xml
<OathTokenResyncRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 4</Username>
<UserStorageName>sample string 5</UserStorageName>
<OathTokenName>sample string 1</OathTokenName>
<Otp>sample string 2</Otp>
<InitialCounter>3</InitialCounter>
</OathTokenResyncRequest>
PUT OathToken/Extend
Extend a soon to be expired token.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
Define this parameter in the request body. |
Parameter information
request
Request to extend tokens.
| Property | Description | Additional information |
|---|---|---|
MustExtend (Boolean) |
Enforced extension of expire time. |
This parameter is optional. |
Name (String) |
The unique name of the requested OATH token. |
This parameter is optional. |
Platform (String) |
Token platform type OATH, FIDO. |
This parameter is optional. |
SearchMode (Int32) |
Search token by (0 = Name), (1 = Id), for now only used for delete of FIDO tokens. |
This parameter is optional. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Request body formats
application/json, text/json
{
"MustExtend": true,
"Name": "sample string 2",
"Platform": "sample string 3",
"SearchMode": 4,
"Username": "sample string 5",
"UserStorageName": "sample string 6"
}
application/xml, text/xml
<ExtendRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Username>sample string 5</Username>
<UserStorageName>sample string 6</UserStorageName>
<Name>sample string 2</Name>
<Platform>sample string 3</Platform>
<SearchMode>4</SearchMode>
<MustExtend>true</MustExtend>
</ExtendRequest>
GET OathToken?Name={Name}&Platform={Platform}&SearchMode={SearchMode}&Username={Username}&UserStorageName={UserStorageName}
Retrieves the user’s OATH tokens specified by the request.
Request information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request specifying the token(s). |
Define this parameter in the request URI. |
Parameter information
request
Contains data used when requesting an OATH token.
| Property | Description | Additional information |
|---|---|---|
Name (String) |
The unique name of the requested OATH token. |
This parameter is optional. |
Platform (String) |
Token platform type OATH, FIDO. |
This parameter is optional. |
SearchMode (Int32) |
Search token by (0 = Name), (1 = Id), for now only used for delete of FIDO tokens. |
This parameter is optional. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |
Response information
The requested tokens.
Response body formats
application/json, text/json
[
{
"$type": "PointSharp.WebServices.Models.User.OathToken, PointSharp.WebServices.Models",
"Platform": "sample string 1",
"IsPinProtected": true,
"IsDisabled": true,
"Name": "sample string 4",
"Id": "sample string 5",
"SerialNumber": "sample string 6",
"Description": "sample string 7",
"LastUsed": "2025-09-16T13:59:21.3142414+02:00",
"CreateTime": "2025-09-16T13:59:21.3142414+02:00",
"ExpireAt": "2025-09-16T13:59:21.3142414+02:00",
"IsExpired": true
},
{
"$type": "PointSharp.WebServices.Models.User.OathToken, PointSharp.WebServices.Models",
"Platform": "sample string 1",
"IsPinProtected": true,
"IsDisabled": true,
"Name": "sample string 4",
"Id": "sample string 5",
"SerialNumber": "sample string 6",
"Description": "sample string 7",
"LastUsed": "2025-09-16T13:59:21.3142414+02:00",
"CreateTime": "2025-09-16T13:59:21.3142414+02:00",
"ExpireAt": "2025-09-16T13:59:21.3142414+02:00",
"IsExpired": true
}
]
application/xml, text/xml
<ArrayOfOathToken xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OathToken>
<Platform>sample string 1</Platform>
<IsPinProtected>true</IsPinProtected>
<IsDisabled>true</IsDisabled>
<Name>sample string 4</Name>
<Id>sample string 5</Id>
<SerialNumber>sample string 6</SerialNumber>
<Description>sample string 7</Description>
<LastUsed>2025-09-16T13:59:21.3142414+02:00</LastUsed>
<CreateTime>2025-09-16T13:59:21.3142414+02:00</CreateTime>
<ExpireAt>2025-09-16T13:59:21.3142414+02:00</ExpireAt>
<IsExpired>true</IsExpired>
</OathToken>
<OathToken>
<Platform>sample string 1</Platform>
<IsPinProtected>true</IsPinProtected>
<IsDisabled>true</IsDisabled>
<Name>sample string 4</Name>
<Id>sample string 5</Id>
<SerialNumber>sample string 6</SerialNumber>
<Description>sample string 7</Description>
<LastUsed>2025-09-16T13:59:21.3142414+02:00</LastUsed>
<CreateTime>2025-09-16T13:59:21.3142414+02:00</CreateTime>
<ExpireAt>2025-09-16T13:59:21.3142414+02:00</ExpireAt>
<IsExpired>true</IsExpired>
</OathToken>
</ArrayOfOathToken>
DELETE OathToken?Name={Name}&Platform={Platform}&SearchMode={SearchMode}&Username={Username}&UserStorageName={UserStorageName}
Removes the user’s OATH token(s) specified by the request.
Request Information
Parameters
| Name | Description | Additional information |
|---|---|---|
request |
The request specifying the OATH token to delete. |
Define this parameter in the request URI. |
Parameter information
request
Contains data used when requesting an OATH token.
| Property | Description | Additional information |
|---|---|---|
Name (String) |
The unique name of the requested OATH token. |
This parameter is optional. |
Platform (String) |
Token platform type OATH, FIDO. |
This parameter is optional. |
SearchMode (Int32) |
Search token by (0 = Name), (1 = Id), for now only used for delete of FIDO tokens. |
This parameter is optional. |
Username (String) |
The name of the user. |
This parameter is required. |
UserStorageName (String) |
The name of the storage where the user resides. If this value is NULL (not set) then Pointsharp ID tries to find the unique user by searching through all configured user storages. |
This parameter is optional. |