@kohost/api-client
TypeScript icon, indicating that this package has built-in type declarations

4.8.5 • Public • Published

npm version Use Case Synced

Kohost API Client

Kohost API Client is a Node.js and Browser library for interacting with the Kohost API. It provides a simple and convenient way to access the API, as well as standard models, schemas, commands, and events.

Installation

npm install @kohost/api-client

Usage

The library consists of several modules, including:

  • Models: Defines the models used in the API.
  • Errors: Defines the error objects returned by the API.
  • Commands: Defines the available commands for managing hosting resources.
  • Events: Defines the events emitted by the API.
  • defs: Defines the API endpoint definitions.
  • utils: Contains utility functions.
  • Client: The main http client for interacting with the API
import { Client } from "@kohost/api-client";

const kohost = new Client({
  url: "https://localhost:8080/v3",
  propertyId: "development",
});

Authentication

Currently, the only supported mode of Authentication with the API is via an HTTP Only cookie. You can login a user via the following command to get a cookie.

Requesting a Login Token

const email = "help@kohost.io";

await kohost.RequestLoginLink({
  data: { email },
});

/** OR via Phone **/

const phone = "+17025555555";

await kohost.RequestLoginLink({
  data: { phone },
});

Click the link in the email or SMS to authenticate.

Using a Token

Simply use the LoginUser use case to provide a user ID via the sub parameter, along with the token parameter.

const sub = "user-id-from-api";
const token = "token-provided-by-api";

await kohost.LoginUser({
  data: { sub, token },
});

A successful response will set an HTTP only cookie in the browser.

Readme

Keywords

none

Package Sidebar

Install

npm i @kohost/api-client

Weekly Downloads

397

Version

4.8.5

License

none

Unpacked Size

24.6 MB

Total Files

2978

Last publish

Collaborators

  • itrogers
  • markanthonyday