Introduction

Bienvenue sur la documentation de l'API Nexelion. Cette API RESTful vous permet d'intégrer les fonctionnalités de stockage et de partage de fichiers de Nexelion directement dans vos applications.

Accès Réservé

L'API est exclusivement accessible aux utilisateurs disposant d'un abonnement Premium ou Ultra. Les comptes gratuits n'ont pas accès aux clés API.

Base URL: https://file.nexelion.fr/api/v1

Authentification

L'authentification se fait via une clé API (API Key) que vous pouvez générer dans votre tableau de bord (Paramètres > API). Cette clé doit être incluse dans le header x-api-key de chaque requête.

Header Request
{
  "x-api-key": "nx_a1b2c3d4e5f6..."
}

⚠️ Ne partagez jamais votre clé API. Si elle est compromise, révoquez-la immédiatement depuis votre dashboard.

Erreurs & Rate Limits

L'API utilise les codes HTTP standard pour indiquer le succès ou l'échec d'une requête. Toutes les réponses (succès ou erreur) incluent un champ watermark.

Code Description
200 OK La requête a réussi.
400 Bad Request Paramètres invalides ou manquants.
401 Unauthorized Clé API manquante ou invalide.
403 Forbidden Votre abonnement ne permet pas cette action.
413 Payload Too Large Le fichier dépasse la limite autorisée (50GB Premium / 30GB Ultra).
429 Too Many Requests Limite de requêtes atteinte (1000 req/heure).

Format d'Erreur

Response Body
{
  "error": "UNAUTHORIZED",
  "message": "Invalid API Key",
  "watermark": "Nexelion - The Future of Storage"
}

GET User Info

Récupère les informations de l'utilisateur courant, son rôle et l'utilisation du stockage.

/user
Node.js
Python
PHP
const axios = require('axios');

const response = await axios.get('https://file.nexelion.fr/api/v1/user', {
    headers: { 'x-api-key': 'VOTRE_CLE_API' }
});

console.log(response.data);
Exemple de Réponse
{
  "id": "cuid_123456789",
  "name": "Jean Dupont",
  "email": "jean@example.com",
  "role": "PREMIUM",
  "storageUsed": 52428800,
  "quota": 53687091200,
  "watermark": "Nexelion - The Future of Storage"
}

GET List Files

Liste les fichiers à la racine ou dans un dossier spécifique.

/files

Paramètres (Query)

  • folderId (optionnel) : ID du dossier à lister.
  • limit (optionnel) : Nombre de fichiers (défaut 50, max 100).
  • page (optionnel) : Numéro de page.
Exemple de Réponse
{
  "files": [
    {
      "id": "file_abc123",
      "name": "document.pdf",
      "size": 1048576,
      "type": "application/pdf",
      "createdAt": "2024-03-20T10:00:00Z",
      "url": "https://file.nexelion.fr/f/file_abc123"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 1
  },
  "watermark": "Nexelion - The Future of Storage"
}

POST Upload File

Téléverse un fichier. Supporte multipart/form-data.

/upload
Node.js
Python
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');

const form = new FormData();
form.append('file', fs.createReadStream('image.png'));

const response = await axios.post('https://file.nexelion.fr/api/v1/upload', form, {
    headers: {
        ...form.getHeaders(),
        'x-api-key': 'VOTRE_CLE_API'
    }
});
Exemple de Réponse
{
  "success": true,
  "file": {
    "id": "file_xyz789",
    "name": "image.png",
    "size": 2048,
    "url": "https://file.nexelion.fr/f/file_xyz789"
  },
  "watermark": "Nexelion - The Future of Storage"
}

DELETE Delete File

Supprime définitivement un fichier.

/file/:id
Exemple de Réponse
{
  "success": true,
  "message": "File deleted",
  "watermark": "Nexelion - The Future of Storage"
}