rankion.ai
API

API Projets

Créer, lister, mettre à jour des projets, gérer articles et mots-clés par projet.

Dans Rankion, un projet est le conteneur central — un projet par domaine, un team-owner, et toutes les sous-ressources (articles, mots-clés, maps de liens internes, storylines) y sont rattachées. À côté, il y a les projets de tracking, ressource distincte dédiée au monitoring AI Visibility (voir plus bas).

CRUD

Méthode Endpoint Description Crédits
GET /v1/projects Liste de tous les projets de l'équipe (paginée)
POST /v1/projects Créer un nouveau projet
GET /v1/projects/{id} Détail d'un projet
PUT /v1/projects/{id} Mettre à jour les paramètres
DELETE /v1/projects/{id} Supprimer un projet (soft)
# Liste
curl -H "Authorization: Bearer $TOKEN" "$BASE/projects"

# Création
curl -X POST "$BASE/projects" \
     -H "Authorization: Bearer $TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"name":"Mein Blog","domain":"meinblog.de","language":"de","country":"DE"}'

Réponse (abrégée) :

{
  "data": {
    "id": 12,
    "name": "Mein Blog",
    "domain": "meinblog.de",
    "language": "de",
    "country": "DE",
    "team_id": 7,
    "created_at": "2026-05-01T08:30:00Z"
  }
}

Sous-ressources liées au projet

Articles

Tous les endpoints CRUD et de génération d'articles dépendent du projet :

Méthode Endpoint Description Crédits
GET /v1/projects/{project}/articles paginé (20/page)
POST /v1/projects/{project}/articles Body : {title, slug?, content?, status?}

API Articles complète → API Articles.

Mots-clés

Méthode Endpoint Description Crédits
GET /v1/projects/{project}/keywords Mots-clés du projet
POST /v1/projects/{project}/keywords Créer un mot-clé
DELETE /v1/keywords/{id} Supprimer un mot-clé
POST /v1/keywords/research Job de recherche de mots-clés 5
POST /v1/keywords/{id}/expand Expansion A-Z (async) 10
GET /v1/keywords/{id}/expansions Résultats d'une expansion

Maillage interne

Méthode Endpoint Description Crédits
POST /v1/projects/{project}/internal-links/analyze Calculer la map de liens internes du projet (async) 5
GET /v1/articles/{id}/link-suggestions Suggestions pour un article
PUT /v1/link-suggestions/{id} Accepter / refuser une suggestion

Autres sous-ressources de projet

Famille d'endpoints Endpoint principal
Storylines GET/POST /v1/projects/{project}/storylines
Style-Profiles GET/POST /v1/projects/{project}/style-profiles
Knowledge-Base GET/POST /v1/projects/{project}/knowledge-base
Link-Lists GET/POST /v1/projects/{project}/link-lists
Orphan-Scans POST /v1/projects/{project}/orphan-scans/discover
Calendar GET/POST /v1/projects/{project}/calendar
Project-Images GET /v1/projects/{project}/images (legacy — l'endpoint principal est le /v1/images au niveau équipe)

Projets de tracking (ressource distincte !)

Les projets de tracking sont séparés des projets normaux. Ils constituent la base de données pour AI Visibility Tracking — un projet de tracking par marque, un set de mots-clés, un set de plateformes.

Namespace d'endpoints : /v1/tracking-projects/...

Flux de l'assistant

L'interface web propose un assistant en 5 étapes que tu peux reproduire 1:1 via l'API :

Étape Endpoint Description
1+2 POST /v1/tracking-projects/analyze Analyser un domaine/mot-clé, dispatche AnalyzeDomainJob. Body : {mode:"domain"|"keyword", domain?, keyword?, name?, language?, country?} → 202 + project_id
3+4 GET /v1/tracking-projects/{id}/analysis-status Polling : renvoie {analysis_status, suggested_keywords, suggested_competitors, suggested_prompts, suggested_personas, classification}
5 POST /v1/tracking-projects/{id}/activate Atomique : crée mots-clés/prompts/concurrents + passe status=active
# Étape 1+2 : démarrer l'analyse
RESP=$(curl -s -X POST "$BASE/tracking-projects/analyze" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"mode":"domain","domain":"example.com","language":"de","country":"DE"}')
PID=$(echo $RESP | jq -r .project_id)

# Étape 3+4 : poller jusqu'à completed
while [ "$(curl -s "$BASE/tracking-projects/$PID/analysis-status" \
  -H "Authorization: Bearer $TOKEN" | jq -r .analysis_status)" != "completed" ]; do
  sleep 3
done

# Étape 5 : activation atomique
curl -X POST "$BASE/tracking-projects/$PID/activate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "keywords":["best crm","crm software"],
    "competitors":[{"domain":"hubspot.com"}],
    "prompts":[{"prompt":"What is the best CRM?","category":"recommendation"}],
    "platforms":["chatgpt","perplexity"],
    "frequency":"weekly",
    "with_search":true,
    "reality_check_enabled":true
  }'

Opérations courantes

Méthode Endpoint Description
GET /v1/tracking-projects tous les projets de tracking de l'équipe
GET /v1/tracking-projects/{id} Détail avec KPIs courants
PUT /v1/tracking-projects/{id} Mettre à jour les paramètres (alias de marque, fréquence, plateformes, toggle AVI)
POST /v1/tracking-projects/{id}/run Dispatcher un run de tracking manuel
GET /v1/tracking-projects/{id}/runs Historique des runs
GET /v1/tracking-projects/{id}/scores Historique des scores pour les graphiques
GET /v1/tracking-projects/{id}/avi AI Visibility Index courant (Reality Check)
POST /v1/tracking-projects/{id}/generate-report Rapport Markdown (10 crédits, limite 1/30min)

Tableau complet des ~30 endpoints de tracking dans docs/API_REFERENCE.md.

Exemple de workflow : projet + premier article

# 1) Créer le projet
PID=$(curl -s -X POST "$BASE/projects" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"Demo Site","domain":"demo.example","language":"de","country":"DE"}' \
  | jq -r .data.id)

# 2) Créer un stub d'article
ART=$(curl -s -X POST "$BASE/projects/$PID/articles" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"title":"Beste AI-Tools 2026","status":"draft"}' \
  | jq -r .data.id)

# 3) Générer le contenu de l'article (5 crédits, async)
curl -X POST "$BASE/articles/$ART/generate" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"keyword":"AI Tools 2026","article_type":"blog","target_length":1500}'

# 4) Poller jusqu'à terminé
while [ "$(curl -s "$BASE/articles/$ART" \
  -H "Authorization: Bearer $TOKEN" | jq -r .data.processing_status)" != "ready" ]; do
  sleep 5
done

Workflows détaillés pour les articles : API Articles.

Voir aussi : Authentification & tokens API · Crédits & rate-limits · AI Visibility Tracking.

Letzte Aktualisierung: 1 mai 2026

Cookies : Nous utilisons des cookies nécessaires pour le fonctionnement et facultatifs pour les améliorations. Détails

Nécessaire
Actif
Analytique
Marketing