Tulip API crash course

(I had already posted this somewhere else in the community, but I think it will be far more visible and useful here)

I’ve always found the Tulip API endpoints rather confusing so here is an overview, in case someone is as puzzled as I am.

As far as I know, and as far as the documentation says, Tulip officially provides two APIs, each one having:

  • a different URL prefix
  • different version numbers
  • different capabilities

One is called the Tulip API, the other one is called the Tulip Next-Gen API (often simply Next-Gen API). Very confusingly, the “next-gen” API (which always makes me think it’s a new version of a previous API) has version number 1. Strangely, I’ve never found any trace of a “v2” API.

Both APIs seem to be officially supported and usable with the usual API tokens.

Here is a table comparing the two, with every information I could find as of today:

Criteria Tulip API Tulip “Next-Gen” API
Documentation location(s) - https://{instance-name}.tulip.co/apiDocs
- Introduction
Introduction
Base prefix https://<instance-name>.tulip.co/api/v3/{entity-name} https://<instance-name>.tulip.co/api/{namespace}/v1/{entity-name}
Workspaced prefix https://<instance-name>.tulip.co/api/v3/w/{workspace-id}/{entity-name} https://<instance-name>.tulip.co/api/{namespace}/v1/w/{workspace-id}/{entity-name}
Version number 3 1
Uses namespacing? no yes
Capabilities Roughly focuses on machines and tables:
- Read apps, app groups, machines, machine types and machine activity archive status.
- Create/read/update/delete table, table records, queries, aggregations and record links.
- Create users, machine activity archive, machine attribute values and signed cloud storage URLs.
Roughly focuses on shop floor and users:
- Create/read/update/Delete stations, station groups and interfaces.
- Read user, user groups and roles.

I hope this will be useful to someone!

3 Likes