Typescript client to interact with Obelisk on a higher level than the regular ReST API calls.

Usage no npm install needed!

<script type="module">
  import obeliskClient from 'https://cdn.skypack.dev/@obelisk/client';


Obelisk Client

A client library written in Typescript to interact with Obelisk.


This library makes use of RxJS (Reactive Extensions for JavaScript). RxJS comes as a peer dependency.


** This client library only works for web applications that connect on behalf of users. It is meant for the browser, so node-js servers cannot use this. (For those use cases, please refer to the HTTP ReST API documented on Obelisk)**

The client helps to make authorized calls to the API. With the client you create Endpoints. These endpoints can be acted on with methods like execute() or get(). An endpoint takes an API uri as argument. This means that the HTTP REST api is as important to you, as this API.


npm install @obelisk/client rxjs --save


To start you need to create an ObeliskClient instance with a proper options object.

import { ClientOptions, ObeliskClient } from '@obelisk/client';

const options: ClientOptions = {
    host: 'https://obelisk.ilabt.imec.be',
    apiVersion: 'v1',
    realm: 'idlab-iot',
    clientId: 'my-client'
let client = new ObeliskClient(options);

Now init the client to connect to the Obelisk back-end and start using it. init() returns an Observable that completes once initialization is over.

    next: _ => {
        // do something with the client

If you are logged in it will handle all the tokens in the headers for you.


There is an optional angular package to use in conjunction with the client packages. More information can be found at @obelisk/ngx.

Client API

The generated @obelisk/client api can be found here