Documentation API

YorkHost API

API centralisee pour la gestion des services d'hebergement YorkHost. Gerez vos serveurs, bases de donnees, sous-domaines et plus encore.

Operationnelle

Authentification

Toutes les requetes vers l'API External necessitent une authentification.

Authentification Bearer (obligatoire)

Header Authorization - Token API dans le header HTTP

Authorization: Bearer <EXTERNAL_API_TOKEN>


Body JSON - Identifiants client dans chaque requete

"client_id" est requis. "secret_token" est optionnel (double verification si fourni).

POST /v1/external/* Exemple de requete

Exemple cURL

curl -X POST https://api.yorkhost.fr/v1/external/services \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "12345"
  }'

Services

Gestion et consultation des services client.

POST /v1/external/services Liste les services d'un client

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
email string optionnel Alternative: recherche par email

Reponse

{
  "success": true,
  "services": [
    {
      "id": 123,
      "name": "Serveur FiveM",
      "status": "Active"
    }
  ]
}

Base de donnees

Acces aux informations de connexion MySQL.

POST /v1/external/linkdb Recupere les infos de connexion MySQL

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service

FiveM

Gestion des serveurs FiveM: txAdmin, artifacts, allocations.

POST /v1/external/txadmin/enable Active txAdmin

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
POST /v1/external/artifacts/update Met a jour les artifacts FiveM

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
POST /v1/external/allocations/add Ajoute un port supplementaire

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
POST /v1/external/reinstall Reinstalle le serveur

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service

Game Server

Informations de connexion au serveur de jeu.

GET /v1/external/game/addr Retourne l'IP:PORT du serveur de jeu

Parametres

Parametre Type Requis Description
service_id string requis Identifiant du service (query param)

Reponse

{
  "success": true,
  "data": {
    "service_id":  "32364",
    "server_ip":   "217.145.72.100",
    "server_port": 30120,
    "server_addr": "217.145.72.100:30120"
  }
}

Documentation

Recherche et consultation des articles de la base de connaissance (table chatbot_docs).

GET /v1/external/docs/search Recherche fulltext dans la documentation

Parametres

Parametre Type Requis Description
q string requis Texte a rechercher (recherche fulltext MySQL boolean mode)

Reponse

{
  "success": true,
  "query": "fivem licence",
  "total": 2,
  "data": [
    {
      "id": 12,
      "url": "https://docs.yorkhost.fr/fivem/licence",
      "slug": "fivem-licence",
      "category": "fivem",
      "title": "Configurer votre licence FiveM",
      "excerpt": "…Pour configurer votre licence FiveM, rendez-vous dans le panel…",
      "language": "fr",
      "score": 4.2
    }
  ]
}
GET /v1/external/docs/article Retourne le contenu complet d'un article

Parametres

Parametre Type Requis Description
id int requis Identifiant de l'article (id retourne par /docs/search)

Reponse

{
  "success": true,
  "data": {
    "id": 12,
    "url": "https://docs.yorkhost.fr/fivem/licence",
    "slug": "fivem-licence",
    "category": "fivem",
    "title": "Configurer votre licence FiveM",
    "content": "Contenu complet de l'article...",
    "language": "fr",
    "scraped_at": "2025-01-15T10:30:00Z",
    "updated_at": "2025-01-20T08:00:00Z"
  }
}

Bot Discord

Gestion des bots Discord: changement de langage et version.

POST /v1/external/bot/node-version Change la version de Node.js

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
version string optionnel Version Node.js: 18, 20, 21, 22, 23, 24 (defaut: 24)
POST /v1/external/bot/switch-nodejs Passe le bot a Node.js

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
version string optionnel Version Node.js (defaut: 24)
POST /v1/external/bot/switch-python Passe le bot a Python

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
version string optionnel Version Python: 3.10, 3.11, 3.12, 3.13 (defaut: 3.13)

Sous-domaines

Gestion des sous-domaines Cloudflare (*.sub-yorkhost.fr).

POST /v1/external/subdomains Gestion des sous-domaines

Parametres

Parametre Type Requis Description
client_id int requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
action string requis list, get, create, update, delete, toggle_proxy
subdomain string selon action Nom du sous-domaine (pour get/create/update/delete)
ip_address string selon action Adresse IPv4 (pour create/update)
proxied boolean optionnel Activer le proxy Cloudflare

Actions disponibles

"list"     - Liste tous les sous-domaines du client
"get"      - Recupere les details d'un sous-domaine
"create"   - Cree un nouveau sous-domaine
"update"   - Met a jour l'adresse IP
"delete"   - Supprime un sous-domaine
"toggle_proxy" - Active/desactive le proxy Cloudflare

Annulations

Gestion des demandes d'annulation de services.

GET /v1/external/cancellation Liste les demandes d'annulation

Parametres (Query String)

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
POST /v1/external/cancellation Cree une demande d'annulation

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service
type string requis immediate ou end_of_period
reason string requis Raison de l'annulation
other_reason string optionnel Raison supplementaire
DELETE /v1/external/cancellation Annule une demande d'annulation

Parametres

Parametre Type Requis Description
client_id string requis Identifiant du client
secret_token string optionnel Token secret du client (double verification)
service_id string requis Identifiant du service

Lookup

Recherche de correspondances Discord/Email.

GET /v1/external/email-by-discord Trouve l'email par Discord ID

Parametres (Query String)

Parametre Type Requis Description
discord_id string requis Identifiant Discord de l'utilisateur
GET /v1/external/discord-by-email Trouve le Discord ID par email

Parametres (Query String)

Parametre Type Requis Description
email string requis Adresse email de l'utilisateur

Health Check

Verification du statut de l'API.

GET /health Statut de l'API

Reponse

{
  "status": "healthy",
  "service": "yorkhost-api",
  "version": "1.0.2"
}