OathToken service

A REST API towards the Pointsharp ID user’s OATH tokens.

API Description

POST OathToken/Fido/Options

Get FIDO credential creation options.

POST OathToken/Fido

Register Fido token for provided user.

POST OathToken/Mobile

Creates a mobile token for provided user and sends activation or download information, if Pointsharp ID is configured to do so.

POST OathToken/Login

Creates a login token for provided user and retrieves the configuration profile of the token.

POST OathToken/Send

Creates an OATH token for provided user and sends usage information if Pointsharp ID is configured to allow it.

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.

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 upcoming 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

PUT OathToken/Extend

Extend a soon-to-be expired token.

GET OathToken?Name={Name}&Platform={Platform}&SearchMode={SearchMode}&Username={Username}&UserStorageName={UserStorageName}

Retrieves the user’s OATH tokens specified by the request.

DELETE OathToken?Name={Name}&Platform={Platform}&SearchMode={SearchMode}&Username={Username}&UserStorageName={UserStorageName}

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.

An activation code will only be returned if the Pointsharp ID is configured to allow it to be returned.

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>

Response information

The activation code of the created mobile token if it was specified to be retrieved by the request, else NULL.

Response body formats

application/json, text/json
{
  "Text": "sample string 1"
}
application/xml, text/xml
<ActivationCode xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Text>sample string 1</Text>
</ActivationCode>

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 value is only used when matching towards OATH tokens with HMAC based OTP (HOTP).

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>

Response information

The number of calculations made.

Response body formats

application/json, text/json
1
application/xml, text/xml
<long>1</long>

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>

Response information

No documentation available.

Response body formats

application/json, text/json
true
application/xml, text/xml
<boolean>true</boolean>

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.