API Overview

Cogniac has a full public API that exposes all of the system functionality. The Cogniac web application and mobile applications are implemented using the Cogniac public API.

Our API uses resource-oriented URLs and HTTP response codes to describe API errors, and it works with any standard library such as cURL, urllib, etc. Most API requests require an access token that you can generate using a valid user email and password combination.

Basic API Structure

The API is comprised of:
Nodes - objects such as a User, Tenant, Application, or Detection
Edges - connections between nodes, such as a Tenant's Applications
Fields - information about Nodes, such as a Tenant's description or a User's email address

Each Node is uniquely defined by an id in the API

https://api.cogniac.io/1
Where '1' is the API version you intend to use
GET https://api.cogniac.io/1/{node-id}
GET https://api.cogniac.io/1/{node-id}/{edge-name}

All API requests must be made over HTTPS - API requests made over HTTP will fail.

When using requests libraries, the Cogniac API seamlessly accepts json parameters in the API requests. Depending on the request library, you may see errors if specifying the Content-Type header, so our guidance is to not use this header for json or media/files or requests.

You can find the current version of the API by calling the /version endpoint

GET https://api.cogniac.io/1/version

The response will include API version, build number, and build time.

{
"version":"1",
"build_number":1055,
"build_time": "2016-12-14:06:08"
}

Note that you can also GET past versions of the API through a GET /1/version call, for example, which will return metadata for those previous versions of the API