The Okapi API is currently in alpha.

Welcome

For most folks who want to integrate with Okapi, you need to do two things:

  1. Get an API key.
  2. Hit the appropriate records-related endpoint(s) for your use-case. There are endpoints for listing, getting, creating, updating, upserting, and archiving records, among others.

To make more sense of the records-related endpoints, it helps to understand Okapi’s core data model. You can also hit objects-related endpoints if you’d like to customize the types of data you track in your Okapi instance.

Getting an API Key

To get an API key:

  1. Go to your user settings page. It’s the link at the bottom right of https://app.okapicrm.com.
  2. From there, go to “Organization API Keys” on the left navbar.
  3. Choose “New API Key”, and a desired expiration time for your API key (if any).
  4. Copy the API Key now shown. Take note of it, because you will not be able to copy it again later.

You can now use this API key to interact with Okapi. For instance, try this endpoint to list the objects in your instance:

# replace ... with the API key from step (4)
curl -H "Authorization: Bearer ..." https://api.okapicrm.com/okapicrm.v1.OkapiCRMService/ListObjects -d '{}'

Core Data Model

Okapi is centered around objects and records. Almost everything is either an instance of one of those two, or mostly just manipulates these.

Objects are customizable data types. Objects have a name and a set of field definitions, each of which also has a name and a type. Objects are how you decide what you want to track. “Company” is a common object.

Records are instances or occurrences of objects. Every record is associated with exactly one object, and has data associated with the field definitions on that object. “Microsoft” or “Apple” are possible records of the “Company” object.

A typical Okapi instance might have tens to possibly hundreds of objects, but very rarely more. A typical Okapi instance may have millions of records.