Klantly Developers

API reference

Pipeline stages

The stages of your pipeline board, in order, and whether a stage means open, won or lost.

Endpoints

List pipeline stages

GET /api/v1/pipeline-stages

All active stages of the pipeline board, in board order. The names in all four languages are under names.

Scope
deals.read — Read deals and pipeline stages
Required feature
pipeline

Example request

cURL
curl "https://app.klantly.com/api/v1/pipeline-stages" \
  -H "Authorization: Bearer $KLANTLY_API_KEY"
PHP
$client = new \GuzzleHttp\Client([
    'base_uri' => 'https://app.klantly.com/api/v1/',
    'headers' => ['Authorization' => 'Bearer ' . getenv('KLANTLY_API_KEY')],
]);

$response = $client->request('GET', 'pipeline-stages');

$data = json_decode((string) $response->getBody(), true)['data'];
JavaScript
const response = await fetch('https://app.klantly.com/api/v1/pipeline-stages', {
  headers: {
    Authorization: `Bearer ${process.env.KLANTLY_API_KEY}`,
  },
});

const { data } = await response.json();
Python
import os

import requests

response = requests.get(
    "https://app.klantly.com/api/v1/pipeline-stages",
    headers={
        "Authorization": f"Bearer {os.environ['KLANTLY_API_KEY']}",
    },
)
data = response.json()["data"]

Response 200

The response is a list with cursor pagination: data contains the objects, meta the pagination.

Example response
{
  "data": [
    {
      "object": "pipeline_stage",
      "id": "3",
      "name": "Offerte verstuurd",
      "names": {
        "nl": "Offerte verstuurd",
        "en": "Quote sent",
        "de": "Angebot gesendet",
        "fr": "Devis envoyé"
      },
      "type": "open",
      "is_default": false,
      "position": 3,
      "probability": "50.00",
      "color": "#3B82F6"
    }
  ],
  "meta": {
    "limit": 50,
    "next_cursor": "eyJpZCI6IjlkM2Y2YzFlIn0",
    "prev_cursor": null
  }
}

Possible errors

In addition, every endpoint can return the general errors, such as an invalid key or a reached limit. See all error codes.

The object

All fields are always present; a field without a value is null.

FieldTypeDescription
object string Always "pipeline_stage".
id string Id of the stage.
name string Name in the language of the request.
names object The name in all four languages.
names.nl string Dutch name. can be empty (null)
names.en string English name. can be empty (null)
names.de string German name. can be empty (null)
names.fr string French name. can be empty (null)
type string open, won or lost: a deal in this stage gets that status. one of: open, won, lost
is_default boolean New deals land in this stage.
position integer Position on the board, from left to right.
probability string Chance of winning as a percentage, as a string with two decimals.
color string Colour on the board (hex). can be empty (null)