Accédez aux articles par programme via notre API REST.
Compatible LLM : Notre API est compatible CORS, permettant une intégration fluide avec les agents d'IA externes, les outils de navigation et les flux de travail de recherche automatisés.
Authentification
POST
/api/v1/auth?action=login
Obtenez un jeton JWT pour l'accès API.
{
"username": "your_username",
"password": "your_password"
}
// Response:
{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIs...",
"token_type": "Bearer",
"expires_in": 86400
}
}
Rechercher des articles
GET
/api/v1/papers?q=transformer&category=cs.AI
Rechercher des articles avec filtres et pagination.
curl "https://shelfhub.org/api/v1/papers?q=attention&page=1"
Paramètres de requête :
query
category - Filter by category (e.g., cs.AI)
tag - Filter by tag
author - Author name
page - Page number (default: 1)
per_page - Results per page (max: 100)
Détails de l'article
GET
/api/v1/papers?id=2503.12345
Récupérer les métadonnées complètes de l'article.
// Response:
{
"success": true,
"data": {
"paper_id": "2503.12345",
"title": "Paper Title",
"abstract": "Abstract text...",
"authors": [{"name": "Author Name"}],
"categories": [{"code": "cs.AI", "name": "AI"}],
"tags": ["llm", "transformer"],
"download_url": "/api/v1/download?id=2503.12345"
}
}
Téléverser un article
POST
/api/v1/papers
Téléverser un nouvel article avec métadonnées.
// Headers:
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: multipart/form-data
// Form Fields:
title - Paper title (required)
abstract - Abstract text
authors - JSON array: [{"name": "..."}]
categories - JSON array: ["cs.AI", "cs.LG"]
tags - JSON array: ["llm", "attention"]
pdf - PDF file
Télécharger un article
GET
/api/v1/download?id=2503.12345
Télécharger le fichier PDF directement.
// CLI download:
curl -L -o paper.pdf \
"https://shelfhub.org/api/v1/download?id=2503.12345"
// Or use the CLI tool:
php preprint-cli.php download 2503.12345
Catégories et Tags
GET
/api/v1/meta?endpoint=categories
Récupérer les catégories et tags existants.
// Available endpoints:
GET /api/v1/meta?endpoint=categories
GET /api/v1/meta?endpoint=tags
GET /api/v1/meta?endpoint=stats
Santé et État
GET
/api/v1/meta?endpoint=health
Vérifier la disponibilité de l'API et la version du système.
// Response:
{ "success": true, "data": { "status": "ok", "version": "1.0.0" } }
Accès par clé API
Pour les outils CLI et flux automatisés, utilisez votre clé API :
// Header format:
Authorization: Bearer YOUR_API_KEY
// Get your API key from profile after login.