This page will help you get started with Klipfolio API Reference Guide.

Klipfolio brings your business data to life helping you and your organization understand and track KPIs, metrics and other essential information. The Klipfolio API provides the same functionality as the web app UI for managing assets (clients, dashboards, Klips, data sources). Organized around REST, the Klipfolio API is accessed over HTTPS from the https://app.klipfolio.com/api/1.0/* domain. All responses are returned in JSON.

📘

Looking for documentation on connecting to third-party application APIs?

If you want to bring data into your Klipfolio account from an external application's API, refer to our third-party service connector documentation.

HTTP Methods

The Klipfolio API uses four HTTP methods when accessing API resources: GET, POST, PUT and DELETE.
The HTTP GET method is used to retrieve (or read) a representation of a resource such as client, Klips, and tabs (now called dashboards).
The PUT method is used to update an existing resource.
The POST method is used to create new resources.
The DELETE method is used to delete an existing resource.

Rate limiting

Klipfolio supports up to five API requests per second and requests per day depends on your plan. (restarts at 12:00 am ET). If you exceed either of those limits, any request you send will return a 429 Too Many Requests error with an appropriate message. Limits apply to the company making the request. The usage limit applies to the requesting company. If you require a higher limit than your plans allows, please contact [email protected].

Authentication

The Klipfolio API works with both Basic Authentication and API keys to enable secure authentication. You can generate an API key from the Klipfolio Dashboard app through either the My Profile page or from Users if you are an administrator (you must have the user.manage permission). By default, both the Admin and Editor roles have permission to generate keys.

To use the API key, you must put the following into the header for your query:
kf-api-key: your api key

Where your api key is replaced with the actual key.

Versioning

The current version of the Klipfolio API is 1.0 (1 is also accepted).

Pagination

When requesting a list of assets (for example, clients, Klips, and so on) using a GET call, use pagination to manage the requests.

Paging is controlled by two URL parameters, "offset" and "limit" as follows:

Offset is the index of the first item in the results. The default is 0.
Limit is the maximum number of results to return. The default is 25. The maximum is 100 (anything over 100 will return a 400 Bad Request error).
In the following example query using pagination, the result will return “page 2” of the list of Klips and each page will show 10 Klips per page:
GET /api/1.0/klips?limit=10&offset=10

Note: If the user does not specify a limit and offset, the first 25 results will be returned.

Permissions

This refers to the permissions required for a particular API request. The permissions are based on your account and your role. The API permissions map directly to the permissions found in the Klipfolio Dashboard user interface.

Parameters

Some API requests include additional parameters that can be used. These are listed with the particular request in the reference guide.

Clients

View, create, update existing clients, and manage clients for all client accounts belonging to the requesting company.

Response codes

The following are examples of HTTP error codes that the API will generate when a correctly authenticated request fails:

400 — The request was formatted incorrectly, or one of the required fields contains invalid.data
401 — Authentication failed or the user does not have permission to access the requested resource.
403 — The user is attempting to perform an action/request that is not allowed.
404 — The requested resource was not found.
405 — The requested method is not supported.
429 — Too many requests.
500 — General error or it is an unexpected error in Klipfolio.

Other response codes include:
200 — Everything worked correctly.
201 — Everything worked correctly and public ID or location of the new resource is returned.
500 — General error or it is an unexpected error in Klipfolio.