Version de développement
Cette documentation décrit la version « next » (develop), non encore publiée. Pour la version stable, basculez sur « v5 » dans l'en-tête.
API

API REST v2

Référence des points d'accès /api/v2 : documents, méthodes, métadonnées, comptage et opérations en masse, avec le format des réponses.

API REST v2

Dodock sert deux versions de l'API REST sur le même site :

VersionPréfixeDocumentsRéponse
v1/api/ ou /api/v1//api/resource/<doctype>{"data": ...} ou {"message": ...}
v2/api/v2//api/v2/document/<doctype>{"data": ...}

La v1 est décrite dans API Rest. La v2 utilise les mêmes méthodes d'authentification : session ou jeton Authorization: token api_key:api_secret.

Chaque appel s'exécute avec les permissions de l'utilisateur authentifié.

Documents

MéthodeCheminAction
GET/api/v2/document/<doctype>Liste des documents
POST/api/v2/document/<doctype>Création d'un document
GET/api/v2/document/<doctype>/<name>Lecture d'un document
PATCH ou PUT/api/v2/document/<doctype>/<name>Modification d'un document
DELETE/api/v2/document/<doctype>/<name>Suppression d'un document (statut HTTP 202)
GET/api/v2/document/<doctype>/<name>/copyCopie d'un document, prête à être créée
GET ou POST/api/v2/document/<doctype>/<name>/method/<method>Appel d'une méthode whitelistée du document

Paramètres de la liste

ParamètreDéfautRôle
fieldsChamps par défautListe JSON des champs, par exemple ["name","customer","grand_total"]
filtersAucunFiltres JSON, par exemple {"status":"Draft"}
order_byTri du type de documentTri, par exemple posting_date desc
start0Décalage pour la pagination
limit20Nombre maximal de lignes
group_byAucunRegroupement
as_dicttrueLignes en objets, ou en listes si false

La réponse contient data, la liste des lignes, et has_next_page, à true s'il reste des lignes après la page.

La liste et le comptage acceptent aussi la méthode HTTP QUERY, qui porte les paramètres dans le corps de la requête. Voir Méthode HTTP QUERY.

curl -G "https://votre-site/api/v2/document/Sales%20Invoice" \
  -H "Authorization: token api_key:api_secret" \
  --data-urlencode 'fields=["name","customer","grand_total"]' \
  --data-urlencode 'filters={"docstatus":1}' \
  --data-urlencode 'limit=5'

Appeler une méthode d'un document

Le chemin /method/<method> charge le document et appelle la méthode si elle est whitelistée. GET demande le droit de lecture, POST le droit d'écriture. La réponse contient le résultat dans data, et le document à jour dans docs.

Exemple : valider une facture brouillon.

curl -X POST "https://votre-site/api/v2/document/Sales%20Invoice/ACC-SINV-2026-00012/method/submit" \
  -H "Authorization: token api_key:api_secret"

Méthodes

MéthodeCheminAction
Toutes/api/v2/method/<chemin.de.la.methode>Appel d'une méthode whitelistée, ou d'un script serveur de type API
Toutes/api/v2/method/<doctype>/<method>Appel d'une méthode whitelistée du module du type de document
POST/api/v2/method/upload_fileEnvoi d'un fichier
POST/api/v2/method/logoutDéconnexion
Toutes/api/v2/method/pingTest de disponibilité

Types de documents

MéthodeCheminAction
GET/api/v2/doctype/<doctype>/metaMétadonnées du type de document : champs, propriétés
GET/api/v2/doctype/<doctype>/countNombre de documents, avec les mêmes filters que la liste

Découverte et MCP

MéthodeCheminAction
GET/api/v2/discoveryPoint d'entrée de l'API de découverte des méthodes
GET/api/v2/discovery/search?q=<texte>Recherche dans l'index des méthodes
GET/api/v2/discovery/methodListe des méthodes whitelistées
GET/api/v2/discovery/doctype/<doctype>Méthodes d'un type de document
POST, GET, DELETE/api/v2/mcpServeur MCP du site

Voir API de découverte des méthodes et Serveur MCP.

Opérations en masse

MéthodeCheminCorps
POST/api/v2/document/<doctype>/bulk_delete{"names": [...]}
POST/api/v2/document/<doctype>/bulk_update{"docs": [{"name": ..., "champ": ...}]}
POST/api/v2/method/bulk_delete{"docs": [{"doctype": ..., "name": ...}]}, sur plusieurs types de documents
POST/api/v2/method/bulk_update{"docs": [{"doctype": ..., "name": ..., "champ": ...}]}, sur plusieurs types de documents

Au-delà de 20 documents, l'opération passe en tâche de fond et la réponse a le statut HTTP 202. La clé bulk_operation_async_threshold de la configuration du site change ce seuil, globalement ou par type de document.