Kontenbase API Node.js Client

This is the Official Node JS API client/library for Kontenbase API. Visit https://kontenbase.com. More information about the product and see documentation at http://kontenbase.com/api for more technical details.

API Documentation
Please check Kontenbase API Reference.
Installation
Node.js
To install kontenbase in a node project:
npm install --save kontenbase
Kontenbase is compatible with Node 10 and above.
Usage
Configure package with your account's API key obtained from your Kontenbase Dashboard.
const { KontenBaseClient } = require('kontenbase')
const kontenbase = new KontenBaseClient({
apiKey: '*******************',
})
Authentication
Use kontenbase auth services for manage your user/customer.
Register
await kontenbase.register({
firstName: 'lucky',
lastName: 'axl',
email: 'luckyaxl@gmail.com',
password: 'strongpasswd',
role: 'authenticated',
})
Response 200 OK:
{ "token": "8868bcf9826f0****" }
Login
await kontenbase.login({
email: 'luckyaxl@gmail.com',
password: 'strongpasswd',
})
Response 200 OK:
{ "token": "8868bcf9826f0****" }
Initiate token with kontenbase.login
for global use, or you can set token on CRUD
operation. see examples.
User Services
Add User To Role
await kontenbase.user.addToRole({
userId: '605a2115a1cedf3fxxxxxxxx',
roleName: 'authenticated',
})
Remove User From Role
await kontenbase.user.removeFromRole({
userId: '605a2115a1cedf3fxxxxxxxx',
})
Get Profile
await kontenbase.user.getProfile({ token: '293840923923xxxx' })
CRUD Operations
Initiate Record service using table prototype that has been injected with your Table Name.
await kontenbase.login({
email: 'luckyaxl@gmail.com',
password: 'strongpasswd',
})
Create Record
await kontenbase.table('My Table').create({
Name: 'Axl',
Notes: 'I Love You'
})
await kontenbase.table('My Table').create(
{
Name: 'Axl',
Notes: 'I Love You',
},
{
token: '35e7ed2da6b473ec1bc602**********',
},
)
Response 200 OK:
{
Name: 'Axl',
Notes: 'I Love You'
}
Get All Records
await kontenbase.table('My Table').findAll()
await kontenbase.table('My Table').find({})
Response 200 OK: [
{
_id: '605a151e409d123bf33be5a9',
Name: 'John',
Notes: 'No Code',
},
{
_id: '605a251d7b8678bf681f284e',
Name: 'Jenny',
Notes: 'Ready',
},
]
Get Record
Query operators
- where
$ne
: not equal$contains
: contains the given value (LIKE)$notContains
: does not contains the given value (NOT LIKE)$in
: match any of the given values$nin
: does not match any of the given values$lt
: less than$lte
: less than or equal$gt
: greater than$gte
: greater than or equal
- limit
- skip
- select
Examples
await kontenbase.table('My Table').find({})
await kontenbase.table('My Table').find({
where: {
Name: 'Jenny',
}
})
await kontenbase.table('My Table').find({
where: {
Notes: {
$contains: 'cool'
},
Age: {
$gte: 21
}
}
})
await kontenbase.table('My Table').find({
limit: 1,
skip: 1,
select: ['Name', 'Notes'],
})
Get Record by Id
await kontenbase.table('My Table').findOne('606d275fd70a65d030b36547')
Response 200 OK:
{
_id: '606d275fd70a65d030b36547',
Name: 'John',
Notes: 'No Code',
}
Update Record
await kontenbase.table('My Table').update(recordId, {
Name: 'Axl',
Notes: 'Cool'
})
Response 200 OK:
{ Name: 'Axl', Notes: 'Cool' }
Delete Record
await kontenbase.table('My Table').delete('605a251d7b8678bf681f284e')
Response 200 OK:
Subscribtion
Subscribe
await kontenbase.subscribe('My Table', function(message) {
console.log(message)
})
Unsubscribe
kontenbase.unsubscribe('My Table')
Interactive documentation
Go to https://kontenbase.com/api to see the interactive API documentation for your Kontenbase project. Once you select a project, click the "JavaScript" tab to see code snippets using Kontenbase. It'll have examples for all operations you can perform against your project using this library.