API v1
Créer et lire vos clients, projets, tâches et étapes depuis vos propres outils — un script, un agent, une automatisation.
API HTTP publique permettant à un outil externe de créer et lire les clients, projets, tâches et étapes d'une organisation, et de lire le questionnaire d'onboarding de chaque projet.
Base : https://www.tetikasa.app/api/v1 — en local, http://localhost:3000/api/v1.
Toutes les routes exigent une clé d'API et suivent les mêmes conventions : format d'erreur, pagination, idempotence, limite de débit.
Les routes
| Route | ||
|---|---|---|
GET | /members | Lister les membres |
POST | /clients | Créer un client |
GET | /clients | Lister les clients |
POST | /projects | Créer un projet |
GET | /projects | Lister les projets |
GET | /projects/{ref} | Lire un projet |
POST | /projects/{ref}/tasks | Créer une tâche |
GET | /projects/{ref}/tasks | Lister les tâches |
GET | /projects/{ref}/tasks/{task} | Lire une tâche |
PATCH | /projects/{ref}/tasks/{task} | Modifier une tâche |
POST | /projects/{ref}/milestones | Créer une étape |
GET | /projects/{ref}/milestones | Lister les étapes |
GET | /projects/{ref}/onboarding | Lire l'onboarding |
POST | /projects/{ref}/onboarding/questions | Ajouter des questions |
POST | /projects/{ref}/metrics/data | Envoyer des chiffres |
POST | /projects/{ref}/metrics | Définir des indicateurs |
GET | /projects/{ref}/metrics | Lire les résultats |
POST | /projects/{ref}/reports | Préparer un rapport |
GET | /projects/{ref}/reports | Lister les rapports |
{ref} et {task} acceptent l'id ou le slug : l'appelant utilise ce qu'il
a sous la main, et peut enchaîner une création puis une lecture sans manipuler
d'identifiants opaques.
Exemple complet
Créer un client, son projet, puis ses tâches — et récupérer le lien du portail.
BASE="https://www.tetikasa.app/api/v1"
AUTH="Authorization: Bearer $TETIKASA_API_KEY"
JSON="Content-Type: application/json"
# 1. Le client existe-t-il déjà ?
curl -s "$BASE/clients?search=Acme" -H "$AUTH"
# 2. Le projet (crée le client si besoin)
PROJECT=$(curl -s -X POST "$BASE/projects" -H "$AUTH" -H "$JSON" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"title":"Refonte du site vitrine","client_name":"Acme"}')
SLUG=$(echo "$PROJECT" | jq -r .project.slug)
# 3. Les tâches
curl -s -X POST "$BASE/projects/$SLUG/tasks" -H "$AUTH" -H "$JSON" \
-d '{"title":"Rédiger le brief créatif","priority":"Haute","labels":["Cadrage"]}'
curl -s -X POST "$BASE/projects/$SLUG/tasks" -H "$AUTH" -H "$JSON" \
-d '{"title":"Fournir le logo en vectoriel","audience":"client"}'
# 4. Le lien à envoyer au client
echo "$PROJECT" | jq -r .project.portal_url
Depuis un assistant IA
Le serveur MCP expose les mêmes opérations sous forme d'outils, pour Claude ou tout autre client MCP — avec une connexion OAuth par personne plutôt qu'une clé partagée.
Hors périmètre
L'API est en lecture et création, plus la mise à jour des tâches, des indicateurs et des rapports. Ne sont pas couverts :
- la suppression (
DELETE), et la mise à jour de tout sauf les tâches, les indicateurs et le texte des rapports ; - les fichiers, les retours clients ;
- la modification ou la suppression d'une question d'onboarding — seul l'ajout est exposé ;
- les webhooks sortants.
Ces manques sont assumés, pas oubliés : ils seront ajoutés quand un usage concret les demandera.
Documentation liée
Authentification
Une clé d'API par organisation, dans l'en-tête Authorization. Comment l'obtenir, ce qu'elle donne, ce qui la refuse.
Conventions
Format des erreurs, nommage, pagination par curseur, idempotence et limite de débit — communs à toutes les routes.
Serveur MCP
Le serveur MCP de Tetikasa : URL, authentification, poignée de main, outils exposés, limites.