conflict (HTTP 409)
Fix: re-read the resource and rebase your change. conflict (HTTP 409) means the resource was modified since you last read it.
- HTTP status: 409
- Problem type URI: https://nowgetitdone.com/docs/api/problems/conflict
What it means
The resource you tried to update has been modified since the timestamp you
passed in base_updated_at. Another agent or user wrote to it between your
read and your update, and applying your change would silently overwrite theirs.
Likely causes
- Two agents or users editing the same workspace note at the same time.
- A stale
updated_atvalue held in memory across multiple operations. - A retry of a failed update where the first attempt actually succeeded.
How to fix
- Re-read the resource (e.g.
GET /v1/notes/{note_id}) to get the current body and the latestupdated_at. - Rebase your change on the current content.
- Retry with the new
base_updated_atvalue. - For append-only changes, consider using the append endpoint instead — it serializes concurrent writes under a row lock and never conflicts.
Example problem+json
{
"type": "https://nowgetitdone.com/docs/api/problems/conflict",
"title": "Conflict",
"status": 409,
"code": "conflict",
"detail": "The note has been modified since you last read it. Re-read the note and apply your change to the current version.",
"request_id": "req_a1b2c3d4"
}Related
Read this page as Markdown — plain text for AI agents. Every guide at once: llms-full.txt.
delivery_already_pending (HTTP 409)
delivery_already_pending (HTTP 409) from the GetItDone API: A delivery for this webhook event is already queued or in flight, so a replay was not created.
dependency_cycle (HTTP 409)
Fix: delete the existing link that points the other way, then add yours. dependency_cycle (HTTP 409) means the blocker would make two tasks wait on each other.