Introduction
The Flow API allows you to programatically create, modify, and delete objects in Flow using tools like Zapier or by writing applications in your favourite programming language.
For example, you could use the Flow API to integrate Flow with a legacy in-house system, or mark tasks as complete from external triggers like Github or other tools.
Our API is RESTful with endpoints centered around resources like tasks, projects, and teams. It talks over HTTP and accepts standard verbs like GET or POST, and replies with data formatted in JSON. Authentication is done through personal access tokens, which must be sent with every request.
In addition to our RESTful interface, we support Webhooks on tasks or projects. This allows an endpoint (your server/application, Zapier, etc) to be notified in real-time whenever anything changes about a Task or Project.
Getting Started
The first thing you need is to be a member of a Flow organization. If you aren’t using Flow yet, go to getflow.com and start a free trial.
Once you’re in Flow, you need to generate a Personal Access Token. It’s a long
string that looks something like 8d848ff0c1dbc6f3f5356576116b00c521e8f0212e245bd36900c37eace375e1
.
To generate and manage tokens, go to your Account Preferences
within Flow. Every request needs a valid access token in order to ensure that
the request is properly authenticated as you.
Never give your token to anyone else! Anyone who has your token can access Flow as you, so keep it secret and safe. If you have reason to suspect that someone else might have your token, go to your Account Preferences and Revoke the token to disable its use.
In addition to your token, the ID of your Flow organization is required with
every request, and can be found in your Account Preferences for each access
token you’ve generated. It will be a number, like 67890
.
In order to try out the API, it’s helpful to use a REST client like Insomnia or Postman. With all that in hand, you can try your first API call.
Your First API Call
Let’s use the API to get a list of your tasks.
We can use the tasks endpoint by issuing a GET
request to
https://api.getflow.com/v2/tasks/?organization_id=12345
(substitute your
actual organization ID in place of the example).
You’ll also need to pass along an access token that you have created that has access to the organization you are fetching tasks for. This is done through setting a HTTP header with your access token. The header's key must be Authorization
and the value must be your token with the word Bearer
(and a space) before it.
Authorization: Bearer 8d848ff0b5922ba394fb02c63fba807c831772343cf531635dfeb5ccf92a463
Once all that is in place, send the GET
request. You should get a response
body back with a listing of your tasks in JSON format. Neat!
This is just the start of what’s possible with the API. Explore the full documentation for more ideas. Happy API-ing!
Troubleshooting
The API documentation is an informative resource and should be your first point of reference when you encounter any problems. If the docs don’t resolve your problem, please reach out to our support team with the following information:
- The email address you used to sign up with Flow
- Your Flow organization name
- A brief description of what you’re trying to do
- A screenshot (or code-snippet) of whatever tool you are using to make the request
- The endpoint you’re having problems with (ex
/tasks
) - The response code (ex.
401
,503
) - The response body
The more information you provide, the better we can assist you.