/outseta-api-client

Typed API client for Outseta.

Primary LanguageTypeScriptMIT LicenseMIT

Outseta REST API Client

Build Status Test Coverage Code Quality Grade Latest Version NPM Bundle Size License

This is a typed API client for Outseta written in TypeScript. The only dependency is fetch, so it works in the browser and works with Node if fetch is polyfilled. See below for an example.

This package implements all the endpoints that are publicly documented, and even includes a few extras. Most issues are likely to be related to incorrect types: attributes missing "optional" flags in models, "unknown" types in the models, or missing filters that could be added. I've done my best to infer the contents for these models, but as it was done entirely via conjecture there are bound to be some incorrect assumptions. If you catch any of these (or anything else for that matter), please submit an issue or feel free to submit a PR.

I am also open to adding more endpoints - there are plenty of undocumented endpoints I can see being useful. As with the above, issues and PRs are welcome.

Quick Start

Installing

NPM:

npm install outseta-api-client --save

Yarn:

yarn add outseta-api-client

Importing

ES6 import:

import OutsetaApiClient from 'outseta-api-client';

CommonJS require:

var OutsetaApiClient = require('outseta-api-client').default;

Additionally, NodeJS requires a polyfill for fetch:

globalThis.fetch = require('node-fetch');
var OutsetaApiClient = require('outseta-api-client').default;

Initialization

In the following examples, the subdomain is the beginning of your Outseta domain - so if your Outseta domain is test-company.outseta.com, it would be just test-company as seen below.

Initializing without any keys:

const client = new OutsetaApiClient({ subdomain: 'test-company' });

Initializing with server-side API keys:

const client = new OutsetaApiClient({
  subdomain: 'test-company',
  apiKey: example_key,
  secretKey: example_secret
});

Initializing with a user access token:

const client = new OutsetaApiClient({
  subdomain: 'test-company',
  accessToken: jwt_user_token
});

Resources & Documentation

Billing

CRM

Marketing

Support

User