Hmm, also nur "items" spielt eine Rolle. manualBookEntries, generatedBookEntries und articleItems kannst du ignorieren. Das sind interne Listen, welche man weder setzt noch ausliest (die sollten eigentlich nicht im JSON drin sein).
Das Attribut "items" enthält die Positionen, und das JSON muss einfach 100% valid sein, ansonsten geht es nicht. Allerdings sollte eine Fehlermeldung kommen, wenn das JSON nicht korrekt ist. Vielleicht könntest du das JSON einmal hier posten oder per Support-Anfrage. Ausserdem, womit machst du den Request? (mit curl, Postman, PHP, Java, nodejs, etc.?) Zum Beispiel mit curl muss das JSON escaped werden.