Documentation API
Lancez des analyses GPTChart.ai depuis votre propre code, vos bots et vos backtests.
Clé API
Une seule clé active par compte. Elle consomme vos crédits comme l’application, alors ne la placez ni dans du code côté client ni dans un dépôt public.
Connectez-vous pour créer une clé API
La documentation ci-dessous est ouverte à tous. Les clés sont liées à votre compte et à ses crédits.
Authentification
Envoyez votre clé comme jeton Bearer dans chaque requête. Les clés commencent par sk_live_.
Authorization: Bearer sk_live_...Points de terminaison
Tous les chemins sont relatifs à https://gptchart.ai. Chaque compte peut lancer 6 analyses par minute et 60 par heure, et consulter une session 30 fois par minute. Les listes de symboles autorisent 10 requêtes toutes les 5 minutes depuis une même adresse IP.
- POSTAnalyser un graphique crypto
- POSTAnalyser un graphique d’action
- POSTAnalyser un graphique forex ou or
- GETLister les symboles crypto
- GETLister les symboles d’actions
- GETLister les symboles forex
- GETConsulter le dernier résultat d’une session et savoir si elle est toujours en cours
Une analyse coûte le même prix que dans l’application : le tarif dépend du modèle et du degré d’annotation du graphique par l’agent, et creditsUsed indique le coût de chaque analyse. Les listes de symboles et la consultation des sessions sont gratuites. Voir les offres et les crédits.
Modes
Chaque analyse utilise le même agent que dans l’application et est enregistrée dans une session que vous pouvez y rouvrir. mode détermine comment elle démarre.
- Litemode: "lite"
- Le mode par défaut. Vous choisissez la configuration —
intervaloutimeframes, les indicateurs, une stratégie enregistrée et des notes — et l’agent analyse exactement ces éléments, comme le ferait le formulaire Lite de l’application. - Promode: "pro"
- Envoyez un
messagecomme dans le chat, et l’agent choisit lui-même les unités de temps et les indicateurs. Un message conversationnel coûte 1 crédit et ne renvoie aucun niveau de prix. - SuivisessionId
- Envoyez
sessionIdetmessagepour poursuivre une session, qu’elle ait commencé ici ou dans l’application. Le symbole, le graphique et les dessins proviennent de la session.
La requête renvoie une réponse lorsque l’analyse est terminée, ce qui peut prendre quelques minutes. Prévoyez donc un délai d’attente long pour votre client. S’il abandonne avant, l’analyse se termine quand même et est facturée. Vous la retrouverez dans la liste de vos sessions dans l’application.
Corps de la requête
Les trois endpoints d’analyse utilisent le même corps JSON ; les champs applicables dépendent du mode. expertMode et analyzeRelatedNews sont toujours acceptés, mais n’ont aucun effet.
- modestring
lite(par défaut) oupro. Non requis pour un suivi.- modelstring
- Le modèle à utiliser :
luna,terra(par défaut) ousol. Le tarif de chacun est le même que dans l’application. - symbolstring · Obligatoire pour démarrer une session
- Un symbole provenant de l’endpoint
/symbolsdu marché, par exempleBTC-USD,AAPLouEURUSD. À omettre pour un suivi. - intervalstring · Lite, sans timeframes ni strategyId
- L’intervalle du graphique :
1m,5m,15m,30m,1H,4H,1Dou1W. En mode Pro, il définit le graphique initial et prend par défaut la valeur1H. - timeframesstring[]
- Lite. Jusqu’à 3 unités de temps à analyser ensemble, à la place de
interval. - selectedIndicatorsstring[]
- Lite. Jusqu’à 3 ID d’indicateurs de la liste ci-dessous.
- indicatorTimePeriodsobject
- Lite. Périodes pour
emaetsma, jusqu’à 2 pour chaque indicateur, par exempleema: [20, 50]. - customPromptstring
- Lite. Vos propres instructions pour l’agent, jusqu’à 3 000 caractères.
- strategyIdstring
- Lite. Exécute l’une de vos stratégies enregistrées : elle renseigne ses unités de temps, indicateurs et instructions, et ceux que vous envoyez vous-même sont prioritaires.
- messagestring · Pro et suivis
- Pro et suivis. Le texte que vous saisiriez dans le chat, jusqu’à 10 000 caractères.
- sessionIdstring
- Poursuivre cette session. Envoyez ce champ avec
messageuniquement. - languagestring
- La langue de l’analyse rédigée :
English,Simplified Chinese,Japanese,KoreanouFrench. VautEnglishpar défaut.
Indicateurs
Utilisez ces identifiants dans selectedIndicators, jusqu’à 3 par requête.
- Simple Moving AverageFiltre de tendance, souvent 20, 50 ou 200
- Exponential Moving AverageRéagit plus vite à la tendance
- Ichimoku CloudRégime de tendance et supports/résistances
- Bollinger BandsBandes de volatilité et compressions
- Average True RangeVolatilité, utile pour le SL/TP
- SupertrendStop suiveur qui suit la tendance
- Parabolic SARStop suiveur selon l’accélération du prix
- Relative Strength IndexMomentum, 14 par défaut
- MACDCroisements de momentum et de tendance
- Know Sure ThingMomentum combinant plusieurs taux de variation
- Stochastic OscillatorMomentum, surachat/survente
- Average Directional IndexForce de la tendance, pas sa direction
- %BPosition du prix dans les bandes de Bollinger
- Money Flow IndexMomentum pondéré par le volume
- Detrended Price OscillatorCycles sans la tendance de fond
- VWAPJuste valeur pondérée par le volume
- Relative VolumeVolume par rapport à sa moyenne
- Accumulation/DistributionFlux de volume entrant et sortant
Réponse
Une analyse réussie renvoie le statut 200 avec ces champs. Les champs de prix sont définis sur null lorsque la réponse n’enregistre aucune analyse, par exemple pour un message conversationnel en mode Pro. La consultation d’une session renvoie les mêmes champs, ainsi que status.
- biasstring | null
Buy,SellouNeutral. Seuls les signaux d’achat ou de vente francs renvoientBuyouSell.- biasDetailstring | null
- Le signal complet de l’agent :
Buy,Neutral Buy,No Trade,Neutral SellouSell. - entrynumber | null
- Prix d’entrée suggéré.
- stopLossnumber | null
- Stop loss suggéré.
- takeProfitnumber | null
- Take profit suggéré.
- confirmationPricenumber | null
- Le prix qui confirme le setup avant d’entrer.
- reasoningstring | null
- Une courte justification du trade.
- analysisstring
- La réponse complète de l’agent.
- creditsUsednumber
- Crédits utilisés par cette requête.
- modestring | null
liteoupro, ounullpour un suivi.- modelstring
- Le modèle qui a répondu. Les réponses conversationnelles utilisent toujours
luna. - sessionIdstring
- La session dans laquelle cette analyse est enregistrée. Renvoyez cette valeur sous
sessionIdpour poursuivre la session. - chartUrlstring
- Ouvre le graphique avec les dessins de l’agent pour le compte propriétaire de la clé.
- timeframesstring[]
- Les unités de temps du graphique après l’analyse.
- indicatorsobject[]
- Les indicateurs du graphique et leurs paramètres.
- drawingsobject[]
- Les annotations de l’agent sur le graphique : lignes, zones, figures et marqueurs.
- statusstring
- Consultation des sessions uniquement :
runningpendant que l’agent travaille, puisdoneoufailed.
Exemples
curl https://gptchart.ai/api/v2/crypto/analyze \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "symbol": "BTC-USD", "interval": "4H" }'{
"symbol": "BTC-USD",
"timeframes": ["15m", "1H"],
"selectedIndicators": ["bbands", "atr", "ema"],
"indicatorTimePeriods": { "ema": [20, 50] },
"customPrompt": "Look for liquidity sweeps around the previous high and low. Use ATR for SL/TP.",
"model": "sol"
}{
"mode": "pro",
"symbol": "AAPL",
"message": "Where is the next resistance, and is a breakout likely this week?"
}{
"sessionId": "3mQk8vZr2LxTn5WcHd1F",
"message": "If price breaks 78,000, where would you trail the stop?"
}{
"symbol": "AAPL",
"strategyId": "c1mEhAha9qaVpHdAKQx0"
}{
"bias": "Neutral",
"biasDetail": "Neutral Buy",
"entry": 77502.82,
"stopLoss": 77002.44,
"takeProfit": 78254.17,
"confirmationPrice": 77502.82,
"reasoning": "Early bullish structure shift on the 1H; a close above 77,500 confirms it.",
"analysis": "Bias: **Neutral Buy** The 1H chart is turning up out of a decline...",
"creditsUsed": 7,
"mode": "lite",
"model": "terra",
"sessionId": "3mQk8vZr2LxTn5WcHd1F",
"chartUrl": "https://gptchart.ai/btcusdt?session=3mQk8vZr2LxTn5WcHd1F",
"timeframes": ["1H"],
"indicators": [],
"drawings": [
{ "id": "ai-stop", "type": "horizontal", "price": 77002.44, "label": "Stop", "author": "ai" }
]
}Erreurs
Les erreurs renvoient un corps JSON contenant un message error.
- 400Requête incorrecteLe corps ne respecte pas les règles de validation ou ne correspond pas au mode, par exemple si le symbole est inconnu ou si l’intervalle est mensuel.
- 401Non autoriséLa clé est manquante, mal formée, expirée ou révoquée.
- 402Crédits insuffisantsLe solde ne permet pas de couvrir l’analyse. Le message indique le nombre de crédits nécessaires.
- 403InterditLe compte n’est plus sur une offre payante (
SUBSCRIPTION_REQUIRED). - 404IntrouvableLe
strategyIdou lesessionIdne vous appartient pas. - 405Méthode non autoriséeMauvaise méthode HTTP pour ce point de terminaison.
- 409Session occupéeLa session répond encore à un message précédent. Réessayez une fois la réponse terminée.
- 429Trop de requêtesPlus de 6 analyses par minute ou 60 par heure sur un même compte. Attendez, puis réessayez.
- 500Erreur serveurUne erreur s’est produite de notre côté. Une analyse échouée n’est pas facturée, et le corps inclut
sessionIdsi une session a été enregistrée.
{
"error": "Interval 1M (monthly) is not available. Use 1W or shorter."
}