Help & Support

Advanced Reporting API: Overview

An overview of LeanKit's Advanced Reporting API. 

The Reporting API (Application Programming Interface) is designed to be a REST interface, with resource-based URLs that accept and return JSON. Resources that return reporting data also support comma-separated values (CSV) and tab-separated values (TAB/TSV). All API calls must be made over HTTPS.



Each of the reporting data API endpoints require an authentication token. To request a token, you will POST your LeanKit account credentials to the /io/reporting/auth endpoint.

Once an authentication token is created, it can be used as a URL query string parameter (e.g. ?token=xxyyzz) or as a Bearer Token HTTP header.

Authentication tokens expire after a predefined number of minutes. Requesting an endpoint with an expired token will return an HTTP status code 401.



The Reporting API uses standard HTTP response codes to indicate the success or failure a request. HTTP response codes in the 200-2xx range indicate success. Response codes in the 400-4xx range indicate a failed request, such as bad or missing parameters. Response codes in the 500-5xx range indicate a failure with LeanKit's servers to fulfill the request.

Request failures also return a JSON response that provides additional information to explain the reason for the failure.



Invalid credentials

  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Login failed: email or password is incorrect"

Expired authentication token

  "statusCode": 401,
  "error": "Unauthorized",
  "message": "Invalid token"


Response formats

Each of the API endpoints that return reporting data support CSV, TAB and JSON responses. By default, CSV will be returned. Requesting a specific format can be done using the format query string parameter, or as an extension.



Requesting data as CSV using the format parameter:

GET /io/reporting/export/cards?format=csv&token=xxyyzz

Requesting data as TAB using an extension:

GET /io/reporting/export/

API Reference

POST /io/reporting/auth

Authenticates account and returns a token. The token is required to make requests to all other API endpoints that require authentication.


Resource URL

POST https://{accountname}


Resource Information

Request format JSON
Response format JSON



Name Required Description
email Yes The account email address.
password Yes The account password.
accountName Yes The account name, such as https://{accountName}


Example request

    "email": "",
    "password": "passW0rd123",
    "accountName": "myaccount"


Example response

Have more questions? Submit a request