From c13878f7f524875f0d7c7ddaee014ea47c522db2 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 19:56:41 +0000 Subject: [PATCH 1/3] fix: align API status codes with OpenAPI specs Update 5 mutation endpoints that were returning 200 instead of 202 (Accepted) as declared in the OpenAPI jsonnet specs: - PATCH /deploymentversions/{deploymentVersionId} - POST /deployments/{deploymentId}/versions - DELETE /relationship-rules/{relationshipRuleId} - PUT /relationship-rules/{relationshipRuleId} - DELETE /resources/identifier/{identifier} Co-authored-by: Aditya Choudhari --- apps/api/src/routes/v1/workspaces/deployment-versions.ts | 2 +- apps/api/src/routes/v1/workspaces/deployments.ts | 2 +- apps/api/src/routes/v1/workspaces/relationship-rules.ts | 4 ++-- apps/api/src/routes/v1/workspaces/resources.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/api/src/routes/v1/workspaces/deployment-versions.ts b/apps/api/src/routes/v1/workspaces/deployment-versions.ts index bb05a47ea..0d4857098 100644 --- a/apps/api/src/routes/v1/workspaces/deployment-versions.ts +++ b/apps/api/src/routes/v1/workspaces/deployment-versions.ts @@ -106,7 +106,7 @@ const updateDeploymentVersion: AsyncTypedHandler< updatedVersion.deploymentId, ); - res.status(200).json(updatedVersion); + res.status(202).json(updatedVersion); }; export const deploymentVersionsRouter = Router({ mergeParams: true }) diff --git a/apps/api/src/routes/v1/workspaces/deployments.ts b/apps/api/src/routes/v1/workspaces/deployments.ts index 67b91ecbb..68a9bce48 100644 --- a/apps/api/src/routes/v1/workspaces/deployments.ts +++ b/apps/api/src/routes/v1/workspaces/deployments.ts @@ -365,7 +365,7 @@ const createDeploymentVersion: AsyncTypedHandler< enqueueReleaseTargetsForDeployment(db, workspaceId, deploymentId); enqueuePolicyEval(db, workspaceId, version.id); - res.status(200).json(formatDeploymentVersion(version)); + res.status(202).json(formatDeploymentVersion(version)); }; const createDeploymentPlan: AsyncTypedHandler< diff --git a/apps/api/src/routes/v1/workspaces/relationship-rules.ts b/apps/api/src/routes/v1/workspaces/relationship-rules.ts index 760b72507..c3d7b661e 100644 --- a/apps/api/src/routes/v1/workspaces/relationship-rules.ts +++ b/apps/api/src/routes/v1/workspaces/relationship-rules.ts @@ -165,7 +165,7 @@ const deleteRelationshipRule: AsyncTypedHandler< enqueueRelationshipReconciliation(workspaceId); - res.status(200).json({ id: relationshipRuleId }); + res.status(202).json({ id: relationshipRuleId }); }; const upsertRelationshipRule: AsyncTypedHandler< @@ -202,7 +202,7 @@ const upsertRelationshipRule: AsyncTypedHandler< enqueueRelationshipReconciliation(workspaceId); - res.status(200).json(toRuleResponse(upserted)); + res.status(202).json(toRuleResponse(upserted)); }; export const relationshipRulesRouter = Router({ mergeParams: true }) diff --git a/apps/api/src/routes/v1/workspaces/resources.ts b/apps/api/src/routes/v1/workspaces/resources.ts index 9b94f21fe..100263853 100644 --- a/apps/api/src/routes/v1/workspaces/resources.ts +++ b/apps/api/src/routes/v1/workspaces/resources.ts @@ -198,7 +198,7 @@ const deleteResourceByIdentifier: AsyncTypedHandler< ), ]); - res.status(200).json({ + res.status(202).json({ id: resource.id, message: "Resource deleted", }); From 4f333c7760f373b9071a821650ff36411a278ad5 Mon Sep 17 00:00:00 2001 From: Aditya Choudhari Date: Thu, 23 Apr 2026 13:22:53 -0700 Subject: [PATCH 2/3] cleanup --- apps/api/src/routes/v1/workspaces/relationship-rules.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/src/routes/v1/workspaces/relationship-rules.ts b/apps/api/src/routes/v1/workspaces/relationship-rules.ts index c3d7b661e..48af60545 100644 --- a/apps/api/src/routes/v1/workspaces/relationship-rules.ts +++ b/apps/api/src/routes/v1/workspaces/relationship-rules.ts @@ -165,7 +165,7 @@ const deleteRelationshipRule: AsyncTypedHandler< enqueueRelationshipReconciliation(workspaceId); - res.status(202).json({ id: relationshipRuleId }); + res.status(202).json(toRuleResponse(rule)); }; const upsertRelationshipRule: AsyncTypedHandler< From 07332adc41996697c6e9a3d8fdb3d753213e4d20 Mon Sep 17 00:00:00 2001 From: Aditya Choudhari Date: Thu, 23 Apr 2026 13:26:24 -0700 Subject: [PATCH 3/3] fix test --- e2e/tests/api/resources.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/e2e/tests/api/resources.spec.ts b/e2e/tests/api/resources.spec.ts index bdb64398c..e1521306f 100644 --- a/e2e/tests/api/resources.spec.ts +++ b/e2e/tests/api/resources.spec.ts @@ -145,7 +145,7 @@ test.describe("Resource API", () => { }, ); - expect(deleteRes.response.status).toBe(200); + expect(deleteRes.response.status).toBe(202); const getRes = await api.GET( "/v1/workspaces/{workspaceId}/resources/identifier/{identifier}",