Le service HTTP est sans état. Toutes les données à agencer doivent être fournies par le corps de demande POST HTTP. Une version agencée de ces données est renvoyée dans le corps de réponse POST.
Les données transmises entre le navigateur et le serveur sont sérialisées en données JSON (JavaScript Object Notation), spécifiée avec le type MIME "application/json".
Un graphe simple est défini par un tableau de noeuds et un tableau de liens.
Par exemple :
{ "nodeLayout": {"algorithm":"forcedirected"}, "linkLayout": {"algorithm":"shortlink"}, "nodes":[ {"id":"object1", "b":[120, 400, 20, 20]}, {"id":"object2", "b":[170, 400, 20, 20]} ], "links":[ {"id":"myLink", "f":"object1", "t":"object2", "ip":[[20,20],[40,20],[40,40]]} ] }
Les paramètres décrivant les noeuds et les liens utilisent des noms abrégés pour économiser la bande passante réseau et augmenter les performances. Les noms abrégés ne sont pas utilisés pour les paramètres de l'agencement de graphe qui ne sont pas renvoyés au côté client. L'agencement côté serveur prend en charge les propriétés globales et les propriétés locales.