Charthop webauthn API
The webauthn API from Charthop — 5 operation(s) for webauthn.
The webauthn API from Charthop — 5 operation(s) for webauthn.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/charthop-webauthn-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
description: REST API for ChartHop
version: V1.0.0
title: ChartHop access Webauthn API
contact:
name: ChartHop
url: https://www.charthop.com
email: support@charthop.com
servers:
- url: https://localhost
- url: http://localhost
tags:
- name: webauthn
paths:
/v1/webauthn:
get:
tags:
- webauthn
summary: List registered credentials for the current user
operationId: listRegisteredCredentials
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WebRegisteredCredential'
'400':
description: bad request
'401':
description: not authorized
'403':
description: permission denied
/v1/webauthn/register:
get:
tags:
- webauthn
summary: Check for an existing physical key for this user
operationId: startRegisterWebAuthn
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WebAuthnStartRegisterResponse'
'400':
description: bad request
'401':
description: not authorized
'403':
description: permission denied
post:
tags:
- webauthn
summary: Check for an existing WebAuthn key for this user
operationId: completeRegisterWebAuthn
responses:
'204':
description: No Content
'400':
description: bad request
'401':
description: not authorized
'403':
description: permission denied
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebAuthnRequest'
required: true
/v1/webauthn/register/{emailBase64}:
delete:
tags:
- webauthn
summary: Delete registered credentials by the given email
operationId: deleteRegisteredCredentials
parameters:
- name: emailBase64
in: path
description: Email
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: integer
format: int32
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
'404':
description: not found
/v1/webauthn/verify:
get:
tags:
- webauthn
summary: Check for an existing physical key for this user
operationId: startVerifyWebAuthn
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/WebAuthnStartVerifyResponse'
'400':
description: bad request
'401':
description: not authorized
'403':
description: permission denied
post:
tags:
- webauthn
summary: Check for an existing physical key for this user
operationId: completeVerifyWebAuthn
responses:
'200':
description: OK
'400':
description: bad request
'401':
description: not authorized
'403':
description: permission denied
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebAuthnRequest'
required: true
/v1/webauthn/{credentialId}:
delete:
tags:
- webauthn
summary: Delete registered credentials by the given credential ID
operationId: deleteRegisteredCredentialById
parameters:
- name: credentialId
in: path
description: Credential ID
required: true
schema:
type: string
responses:
'204':
description: No Content
'400':
description: invalid data
'401':
description: not authorized
'403':
description: permission denied
'404':
description: not found
components:
schemas:
WebAuthnStartRegisterResponse:
type: object
required:
- requestId
- publicKeyCredentialCreationOptions
properties:
requestId:
type: string
description: String id of the request, this needs to be sent back from the client to finish the registration
example: abajlijj
publicKeyCredentialCreationOptions:
type: object
WebAuthnRequest:
type: object
required:
- requestId
- credentialResponse
properties:
requestId:
type: string
credentialResponse:
type: string
WebRegisteredCredential:
type: object
required:
- credentialId
- publicKeyBase64
- userHandleBase64
- signatureCount
- createdAt
properties:
credentialId:
type: string
description: Credential id
publicKeyBase64:
type: string
description: The public key we're saving
userHandleBase64:
type: string
description: The user handle - a random 64 bits of data
signatureCount:
type: integer
format: int64
description: This is used to protect against duplicated key attacks
createdAt:
type: string
description: When was this created
WebAuthnStartVerifyResponse:
type: object
required:
- requestId
- assertionRequest
properties:
requestId:
type: string
description: String id of the request, this needs to be sent back from the client to finish the registration
example: abajlijj
assertionRequest:
type: object