HelioAuth Passkeys API (v1)

Download OpenAPI specification:Download

Contact our support: dev@helioauth.com URL: https://helioauth.com/ License: Apache 2.0

Introduction

This is the official documentation of HelioAuth Passkeys API. It provides a simple interface for user authentication with WebAuthn passkeys.

Getting started

Start by creating an application at /admin/v1/apps. Then, get its API key from /admin/v1/apps/{id}/api-key.

Sign-up

Passkey sign-up from browser

Initiate sign-up process

Starts the sign-up process by generating an attestation challenge.

Request Body schema: application/json
required
name
required
string

Name of the user to be registered.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "options": "string"
}

Complete sign-up process

Completes the sign-up process by validating the attestation and registering the new credential.

Request Body schema: application/json
required
requestId
string

Unique identifier for the sign-up request (from SignUpStartResponse)

publicKeyCredential
string

The public key credential for attestation as returned by navigator.credentials.create()

Responses

Request samples

Content type
application/json
{
  • "requestId": "string",
  • "publicKeyCredential": "string"
}

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b"
}

Sign-in

Passkey sign-in from browser

postSignInCredential

Request Body schema: application/json
required
name
string

Name of the user attempting to sign in.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "options": "string"
}

finishSignInCredential

Request Body schema: application/json
required
requestId
string

Unique identifier for the sign-in request (from SignInStartResponse).

publicKeyCredentialWithAssertion
string

The public key credential with assertion.

Responses

Request samples

Content type
application/json
{
  • "requestId": "string",
  • "publicKeyCredentialWithAssertion": "string"
}

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "username": "string"
}

Users

User account management

Initiate adding a new passkey to user account

Initiates the process of adding a new passkey to a user's account.

Request Body schema: application/json
required
name
required
string

Name of the user to be registered.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "options": "string"
}

Complete the passkey addition process

Completes the process of adding a new passkey to a user's account.

Request Body schema: application/json
required
requestId
string

Unique identifier for the sign-up request (from SignUpStartResponse)

publicKeyCredential
string

The public key credential for attestation as returned by navigator.credentials.create()

Responses

Request samples

Content type
application/json
{
  • "requestId": "string",
  • "publicKeyCredential": "string"
}

Response samples

Content type
application/json
{
  • "requestId": "string",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b"
}

Get user's credentials

Retrieves a list of credentials associated with a specific user by UUID.

path Parameters
uuid
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "passkeys": [
    ]
}

Delete user

Deletes a specific user by their UUID.

path Parameters
uuid
required
string <uuid>

Responses

Applications

CRUD operations for client applications.

List all applications

Retrieves a list of all applications.

Authorizations:
admin-api

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new application

Creates a new application and returns its details.

Authorizations:
admin-api
Request Body schema: application/json
required
name
string

Name of the new application.

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Get an application

Retrieves details of a specific application by its ID.

Authorizations:
admin-api
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Edit an application

Updates the name of a specific application by its ID.

Authorizations:
admin-api
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
string

Responses

Request samples

Content type
application/json
"string"

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "updatedAt": "2019-08-24T14:15:22Z"
}

Delete an application

Deletes a specific application by its ID.

Authorizations:
admin-api
path Parameters
id
required
string <uuid>

Responses

Get an application's API key

Retrieves the API key of a specific application by its ID.

Authorizations:
admin-api
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "apiKey": "string"
}