From a469cae7f18b51754ff51f5c951d879100ce02ee Mon Sep 17 00:00:00 2001 From: Rauf Akdemir Date: Sun, 29 Mar 2026 18:50:23 -0700 Subject: [PATCH] fix: send force_full_sync as query param instead of body The backend /run endpoint declares force_full_sync as a Query parameter, but the CLI was sending it in the JSON body where it was silently ignored. --- airweave_cli/commands/sources.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/airweave_cli/commands/sources.py b/airweave_cli/commands/sources.py index 5126c95..fdd1038 100644 --- a/airweave_cli/commands/sources.py +++ b/airweave_cli/commands/sources.py @@ -227,15 +227,17 @@ def sync( quiet = opts.get("quiet", False) client = get_http_client() - body: dict = {} + params: dict = {} if force: - body["force_full_sync"] = True + params["force_full_sync"] = "true" try: with with_spinner( "Starting sync...", "Sync started", "Failed to start sync", quiet=quiet ): - resp = client.post(f"/source-connections/{source_connection_id}/run", json=body) + resp = client.post( + f"/source-connections/{source_connection_id}/run", params=params + ) resp.raise_for_status() job = resp.json() except typer.Exit: