HUD.ai Javascript Client
A JavaScript interface to the Hud.ai API. To get started
install via npm:
npm install --save hud-ai
Getting Started
First, you'll need to register a client application. This can currently only be
done by reaching out to the engineering team.
Single Page Apps
const HudAi = require('hud-ai');
const client = HudAi.create({
clientId: 'CLIENT_ID',
redirectUri: 'http://www.example.com/oauth/callbacks/hud-ai'
});
window.location = client.getAuthorizeUri('token');
const querystring = require('query-string');
const parsed = querystring.parse(location.hash);
client.setAccessToken(parsed.access_token);
NOTE: The process of token retrieval will need to be performed again when the
token becomes invalid (they're currently valid for 30 days).
Server Applications
Because servers can be trusted to keep a secret, setup is much more
straightforward.
Client Authentication:
const HudAi = require('hud-ai');
const client = HudAi.create({
clientId: 'CLIENT_ID',
clientSecret: 'CLIENT_SECRET'
});
Acting on behalf of a user:
const redirectUrl = client.getAuthorizeUri('code');
const querystring = require('query-string');
const parsed = querystring.parse(location.search);
client.setAuthorizationCode(parsed.code);
Parameters
Parameter | Usage | Example |
---|
clientId * | Registered Client ID | '46ef9d9b-89a9-4fd2-84cf-af6de31f2618' |
clientSecret | Registered Client Secret | '59170c3e-e2c9-4244-92d8-c3595d4af325' |
baseApiUrl | Specify an alternate server to request resources from | 'https://stage.api.hud.ai/v1' |
baseAuthUrl | Specify an alternate server to request auth tokens from | 'https://stage.accounts.hud.ai' |
redirectUri | Path to redirect auth requests to (required for #get_authorize_uri ) | 'https://app.example.com/oauth/callbacks/hud-ai' |
request | axios is used under the hood, pass a config through here | |
Basic Usage
client.articles.get('SOME_ARTICLE_ID')
.then(article => console.log(article))
.catch(err => console.log('Got an error!', err));
Resources
Notes
*
and bolded Type
indicates required param- All list resources have a max of 50 elements per request (e.g.
limit
s higher than that will have no effect)