The Ideanote API is a RESTful API that allows developers to interact with Ideanote's platform. It uses standard HTTP methods, JSON-encoded responses, and requires API keys for authentication. The API is versioned to ensure backwards compatibility, with the current version being v1. All API requests must be made over HTTPS.
Please refer to the full API documentation for detailed information and examples on each API endpoint and its parameters at developer.ideanote.io.
The API uses API keys for authentication, which are bound to a specific Ideanote account. API keys are required for all requests, and they grant access to the content and actions associated with the linked account. API requests without authentication will fail. The API key should be provided in the Authorization header as a bearer token.
To ensure stability, the API employs rate limiting. All requests are IP-rate-limited to a maximum of 60 requests per minute. Exceeding the rate limit will result in a 429 response status code.
Each API endpoint supports various query parameters that allow filtering, ordering, and limiting the returned data. The common query parameters are:
The user object represents members created on the workspace. Users can be retrieved, created, updated, and deleted. The API allows admins and owners of the workspace to create new users, and it automatically sends invitation emails to the created users.
The mission object represents a mission collection and contains ideas. Missions can be listed, retrieved, created, updated, and deleted. Deleting a mission will delete all ideas within it.
The idea object represents ideas within a mission. Ideas can be listed, retrieved, created, and updated. Deleting an idea will permanently remove it.
The comment object represents comments made on ideas. Comments can be listed, retrieved, updated, and deleted.
Teams are created on the workspace and can be assigned to users. Teams can be listed, retrieved, created, updated, and deleted.
The status object represents statuses created on the workspace. Each idea points to a status.
Authentication is required for all Ideanote API endpoints. Currently Ideanote supports two different ways of authenticating:
Both authentication techniques are performed via HTTP Bearer Token Authentication using the Authorization header.
Authorization: Bearer <token>
All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.
When to use: Automating Ideanote tasks based on a single Ideanote account.
The Ideanote API supports API keys for authenticating requests. A given API key is bound to a specific Ideanote account, so all requests made with the key will only have access to the same content and actions as the account that the key is bound to. You can view and manage your API key on the Settings > Profile page.
This way of authenticating is great for building Ideanote integrations to automate different admin tasks in Ideanote (for example automatically creating or deleting Ideanote users on your workspace). We suggest generating a token from an admin account (or creating a dedicated 'bot' user).
Please remember that we also support other ways of building automations such as Zapier and Microsoft Power Automate.
Because an API key is bound to a specific Ideanote account, all actions made using this token will be made with the given user, thus making this authentication technique infeasible if you want to authenticate multiple Ideanote users.
Authentication with the API is performed via HTTP Bearer Token Authentication using the Authorization header.
Using the Ideanote API on behalf on any Ideanote account on your workspace (also accounts that haven't yet been created in Ideanote).
Ideanote also supports JWT authentication. In order to use this technique first you will have to activate it on your Ideanote workspace to preconfigure with a shared JWT secret under Settings > Authentication > Add > JWT.
Remember that you will need to sign the JWTs with the secret corresponding to the relevant workspace.
The follow process describes the process of authenticating with JWT in details:
This way of authenticating is great for building custom UI for Ideanote where iFrame embedding isn't possible (for example submitting ideas from a custom native app).
The downside of this technique is that it's more difficult to set up than using API Key Authentication because you will have to involve your own server in issuing JWT's.
Ideanote expects the structure of the JWT payload to match the following:
To authenticate API calls, provide the signed JWT using the Authorization header as such: