Both endpoints accessed ORM object IDs after db.commit(), which expires all loaded objects in async SQLAlchemy. Added db.flush() before commit to assign IDs while objects are still live. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>