Create RESTful APIs in a minute

3 steps to deploy your Machine Learning models

01step

Write a knowledge file

Write your API's actions inside a function named" run in a file named knowledge (e.g. Python: knowledge.py, R: knowledge.R).

import math
def is_prime(number):
for i in range(2, int(math.sqrt(number))+1):
if number % i == 0:
return False
return True
def run(data):
return is_prime(data['number'])
knowledge.py
is.prime <- function(number) {
if (number %in% c(2, 3)) { return (TRUE) }
for (i in 2:(as.integer(sqrt(number)))) { if (number %% i == 0) return (FALSE) }
return (TRUE)
}
run <- function(data) {
return (is.prime(data$number))
}
knowledge.R
02step

Upload the knowledge file

Upload the knowledge file with other necessary files to execute the runfunction using our convenient GUI.

03step

Call your API

Call your API from any modern programming language. The endpoint and method of your API will be /api/runnable/runnable-name/run/ and POST respectively. Or you can use our pre-built client / SDK to integrate with your machine learning models. You will be required to provide your unique token (created during account creation) in the Authorization headers to be authenticated.

# after running this command: pip install knowru_client
import knowru_client
kc = KnowruClient("your-token")
kc.run_runnable("my-is-prime-api-name", {"input": {"number": 3}})
# True
run_runnable.py
install.packages("httr")
library("httr")
url <- "https://www.knowru.com/api/runnable/your-is-prime-api-name/run/"
body <- list(input=list(number=3))
response <- POST(url, add_headers(Authorization="Token your-token"), accept_json(), content_type_json(), body=body, encode="json")
content(response)$output
# TRUE
run_runnable.R
curl -X POST \
-d '{"input": {"number": 3}}' \
-H "Authorization: Token your-token" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
https://www.knowru.com/api/runnable/your-is-prime-api-name/run/
run_runnable.sh
require 'uri'
require 'net/http'
uri = URI('https://www.knowru.com/api/runnable/your-is-prime-api-name/run/')
http = Net::HTTP.new(uri.host, uri.port)
req = Net::HTTP::Post.new(uri, 'Authorization' => 'Token your-token', 'Content-Type' => 'application/json', 'Accept' => 'application/json')
req.body = {input: {number: 3}}.to_json
res = http.request(req)
run_runnable.rb

Why Knowru?

Our innovative features will make managing APIs much easier

ANALYTICS

See real-time distributions of input and output values of your APIs on the fly

MONITORING & ALARMS

Receive alarms for not only errors but also drastic changes in input and output values

TESTS

Upload test cases and use them whenever preparing new versions of an API

SECURE

Control who can access your APIs - only those with right authentication and permission will be able to use yours

SCALABILITY

If it is not auto-scalable, it is not scalable. We use various technologies to automatically adjust hardware resources for your applications

SO MANY MORE

Only clicks away from configuring asynchronous behaviors, timeout and so many more for your APIs

Proven Scalability & Convenience

Data scientists and developers around the world use Knowru to collaborate.

1000+

HOSTED APIS

2000000+

REQUESTS PER MONTH

Our Special Services for Business Customers

We understand your needs and concerns

Escrow Services

Our escrow services provides a contingency license to access our code in a triggering event.

Custom SLA

We can customize our Service Level Agreement (SLA) to meet your business needs.

Separate AWS Account

We can deploy our platform in a separate AWS account that only your IT environment can use and access.

Staging Environment

We can create a separate staging environment so that your applications are fully tested before moving to a production environment.

POC

We can offer a POC (Proof Of Concept) to earn your trust first.

Training & Consulting

We can provide training and consulting services to make your IT team and infrastructure more agile and service-oriented.

Braviant Holdings

Braviant Holdings

Using Knowru, our data scientists are able to deploy machine learning models in R without any translation in minutes.

Travis Gonzalez, Chief Analytics Officer

Focus on creating - leave others to us

Creating and managing microservices cannot be easier