Docs/API Publique/CRUD complet

Opérations CRUD

Créez, lisez, modifiez et supprimez vos données via l'API REST.

Récupérer un item

curl "https://api.skemacms.com/public/articles/uuid-xxx" \
  -H "X-API-Key: pk_live_xxx"

Ajoutez ?populate=relation pour charger les relations.

Créer un item

curl -X POST "https://api.skemacms.com/public/articles" \
  -H "X-API-Key: pk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Mon article",
    "content": "Le contenu de l article",
    "published": true
  }'

Retourne l'item créé avec son ID généré.

Modifier un item

curl -X PUT "https://api.skemacms.com/public/articles/uuid-xxx" \
  -H "X-API-Key: pk_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Titre modifié"
  }'

Merge partiel : seuls les champs envoyés sont modifiés.

Supprimer un item

curl -X DELETE "https://api.skemacms.com/public/articles/uuid-xxx" \
  -H "X-API-Key: pk_live_xxx"

Attention : La suppression est irréversible. Assurez-vous d'avoir les bonnes permissions sur votre clé API.

Codes de réponse

CodeSignification
200Succès
201Créé avec succès
400Requête invalide (données manquantes ou incorrectes)
401Clé API manquante ou invalide
403Permission refusée (clé sans droit d'écriture)
404Collection ou item non trouvé

Exemple JavaScript

const API_KEY = 'pk_live_xxx';
const BASE_URL = 'https://api.skemacms.com/public';

const createArticle = async (data) => {
  const response = await fetch(`${BASE_URL}/articles`, {
    method: 'POST',
    headers: {
      'X-API-Key': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
  });
  return response.json();
};

const updateArticle = async (id, data) => {
  const response = await fetch(`${BASE_URL}/articles/${id}`, {
    method: 'PUT',
    headers: {
      'X-API-Key': API_KEY,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
  });
  return response.json();
};

const deleteArticle = async (id) => {
  const response = await fetch(`${BASE_URL}/articles/${id}`, {
    method: 'DELETE',
    headers: {
      'X-API-Key': API_KEY
    }
  });
  return response.json();
};