Aller au contenu
Se connecter

Construisez sur tarsiflow avec une API REST simple

Lisez et mettez à jour clients, prospects, projets et tâches, et intégrez factures et propositions à vos rapports. Créez un jeton dans votre espace de travail et faites votre première requête en une minute.

  • REST et JSON
  • Jetons personnels
  • Accès en lecture ou en écriture

Premiers pas

  1. 1. Créer un jeton

    Dans l'application, ouvrez le menu de votre compte et choisissez Jetons d'API. Choisissez lecture seule ou lecture et écriture.

  2. 2. Appelez l'API

    Envoyez vos requêtes à l'URL de base ci-dessous avec votre jeton dans l'en-tête Authorization.

  3. 3. Gardez-le en sécurité

    Un jeton agit en votre nom dans un espace de travail. Révoquez-le à tout moment depuis la même page.

URL de base

https://tarsiflow.com/api/v1

Authentification

Chaque requête nécessite un jeton bearer. Les jetons en lecture peuvent appeler tous les endpoints GET. Les jetons en écriture peuvent aussi créer et modifier des éléments.

curl https://tarsiflow.com/api/v1/me \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

Conventions

  • Les requêtes et les réponses sont en JSON. Envoyez Content-Type: application/json quand vous transmettez des données.
  • Les montants sont toujours un nombre entier de centimes avec un code de devise à trois lettres séparé : 125000 avec USD vaut 1 250,00 dollars.
  • Les dates sont au format YYYY-MM-DD. Les horodatages sont en ISO 8601, en UTC.
  • Les listes sont paginées. Utilisez page et per_page (jusqu'à 100). Chaque réponse contient links et meta avec les totaux.
  • Les mises à jour utilisent PATCH et ne modifient que les champs envoyés.

Erreurs et limites

StatutSignification
401Jeton absent, expiré ou révoqué.
403Le jeton est en lecture seule, ou vous n'appartenez plus à son espace de travail.
404L'élément n'existe pas dans cet espace de travail.
422La validation a échoué. L'objet errors liste chaque champ et ce qu'il faut corriger.
429Trop de requêtes. La limite est de 120 requêtes par minute et par jeton.
{
    "message": "The name field is required.",
    "errors": {
        "name": [
            "The name field is required."
        ]
    }
}

Compte

À qui appartient le jeton, l'espace de travail où il fonctionne, ses membres et les étapes du pipeline.

  • GET /me Le propriétaire du jeton, l'espace de travail et les droits du jeton.
  • GET /members Les membres de l'espace de travail, pour les ids de responsable et de propriétaire.
  • GET /lead-stages Les étapes du pipeline, pour lead_stage_id.

Clients

Tous les clients de l'espace de travail avec leur contact principal.

  • GET /clients Liste les clients. Filtres : search, status, tag.
  • POST /clients Crée un client.
  • GET /clients/{id} Renvoie un client.
  • PATCH /clients/{id} Met à jour un client. N'envoyez que les champs modifiés.

Champs que vous pouvez envoyer

name
string
Obligatoire à la création.
status
string
active, inactive, archived
email, phone, website, address
string
Coordonnées facultatives.
currency
string
Code à trois lettres, comme USD. Par défaut, la devise de l'espace de travail.
tags
array
Liste de libellés courts.

Exemple

curl -X POST https://tarsiflow.com/api/v1/clients \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"name":"Brightline Dental","email":"[email protected]","tags":["healthcare"]}'
{
    "data": {
        "id": 42,
        "name": "Brightline Dental",
        "status": "active",
        "email": "[email protected]",
        "currency": "USD",
        "tags": [
            "healthcare"
        ],
        "primary_contact": null
    }
}

Prospects

Les opportunités de votre pipeline. Les valeurs sont en centimes.

  • GET /leads Liste les prospects. Filtres : stage_id, search.
  • POST /leads Crée un prospect. Il arrive dans la première étape ouverte, sauf si vous passez lead_stage_id.
  • GET /leads/{id} Renvoie un prospect.
  • PATCH /leads/{id} Met à jour un prospect, y compris pour le changer d'étape.

Champs que vous pouvez envoyer

name
string
Obligatoire à la création. Le projet ou la personne, par exemple Refonte du site.
company, email, phone, source, notes
string
Informations facultatives.
value_cents
integer
Valeur estimée en centimes. 250000 correspond à 2 500,00.
expected_close_date
date
YYYY-MM-DD
lead_stage_id, owner_id
integer
Ids issus de /lead-stages et /members.

Projets

Projets clients. Les nouveaux projets reçoivent automatiquement une première liste de tâches.

  • GET /projects Liste les projets. Filtres : client_id, status.
  • POST /projects Crée un projet pour un client.
  • GET /projects/{id} Renvoie un projet avec ses listes de tâches.
  • PATCH /projects/{id} Met à jour un projet.

Champs que vous pouvez envoyer

client_id, name
obligatoire
Le client auquel il appartient et son nom.
status
string
planning, active, on_hold, completed, cancelled
start_date, due_date
date
YYYY-MM-DD
budget_cents
integer
Budget en centimes.

Tâches

Tâches dans des projets, ou indépendantes. Attribuer une tâche prévient la personne.

  • GET /tasks Liste les tâches. Filtres : project_id, assignee_id, status, due_before.
  • POST /tasks Crée une tâche.
  • GET /tasks/{id} Renvoie une tâche.
  • PATCH /tasks/{id} Met à jour une tâche. Passer status à done enregistre l'heure de fin.

Champs que vous pouvez envoyer

title
string
Obligatoire à la création.
project_id, task_list_id
integer
Facultatif. Sans liste, la tâche va dans la première liste du projet.
assignee_id
integer
Un id issu de /members.
status
string
todo, in_progress, review, done
priority
string
low, medium, high
due_date
date
YYYY-MM-DD

Exemple

curl -X PATCH https://tarsiflow.com/api/v1/tasks/318 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"status":"done"}'
{
    "data": {
        "id": 318,
        "title": "Homepage wireframes",
        "status": "done",
        "priority": "high",
        "completed_at": "2026-10-26T14:05:11+00:00"
    }
}

Factures

Lecture seule. L'endpoint d'une facture inclut ses lignes et ses paiements.

  • GET /invoices Liste les factures. Filtres : status, client_id.
  • GET /invoices/{id} Renvoie une facture avec ses lignes, ses paiements et le reste à payer.

Propositions

Lecture seule. L'endpoint d'une proposition inclut ses lignes.

  • GET /proposals Liste les propositions. Filtres : status, client_id.
  • GET /proposals/{id} Renvoie une proposition avec ses lignes.

Votre vie privée, votre choix

Nous utilisons des cookies essentiels pour faire fonctionner ce site et vous garder connecté. Avec votre accord, nous aimerions aussi utiliser des cookies facultatifs pour comprendre l'utilisation du site. Consultez notre politique de cookies.