Create Dashboards using our API

Our API is really simple and we don't want to add one or more dependencies to your project by picking an HTTP library, also, probably your programming language of choice is not one of our strengths, we don't want to put bad code into your projects.

There are two ways to publish data to an instadeq topic, using Webhooks and via our API.

Publish using Web Hooks

See the Instadeq Webhook Guide.

Publish using our API

To publish using our API you need first to authenticate with a user that has permissions to publish to the desired topic to get a session token.

For that you need to do an HTTP POST to https://app.instadeq.com/sessions/ with the Content-type header set to application/json and a JSON body containing two fields:

  • username
  • password

For example if your username is bob and your password is secret then you can log in like this:

curl -X POST https://app.instadeq.com/sessions/ -H 'Content-type: application/json' -d '{"username": "bob", "password": "secret"}'

The response will look like this:

{
        "data": {
                "token": "eyJ...exQ"
        }
}

It will contain other fields but the one we care about is data.token, you have to get that value and send it in all subsequent calls in the x-session header.

if your username is bob, your token is t123 and you want to publish {"answer": 42} to the topic my-topic, this is how you do it:

curl -X POST https://app.instadeq.com/topics/@bob/my-topic -H 'Content-type: application/json' -H "x-session: t123" -d '{"answer": 42}'

The response will look something like this:

{
        "data": {
                "key": null,
                "sn": 1,
                "ts": 1536236026217
        },
        "ok": true,
        "query": {
                "group": "@bob",
                "key": null,
                "topic": "my-topic",
                "username": "bob"
        }
}

Now you can create a visualization using the target topic as the source and build a visualization with the data that is sent to it.