From 72c4ff5cad9936cd4326ec8f41872982f975005a Mon Sep 17 00:00:00 2001 From: Renuka Fernando Date: Thu, 16 Jul 2026 16:51:56 +0530 Subject: [PATCH 1/2] fix(cli): use subscriptionPlanName in devportal subscription create payload The create subscription command was sending `subscriptionPlanId` in the JSON request body, but the DevPortal API expects `subscriptionPlanName`. This caused the unit test to fail and would have sent the wrong field to the server at runtime. --- cli/src/cmd/devportal/subscription/create.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/src/cmd/devportal/subscription/create.go b/cli/src/cmd/devportal/subscription/create.go index f8927645c..d0590a526 100644 --- a/cli/src/cmd/devportal/subscription/create.go +++ b/cli/src/cmd/devportal/subscription/create.go @@ -111,7 +111,7 @@ func buildCreatePayload() ([]byte, error) { "apiId": apiID, } if subscriptionPlan != "" { - payload["subscriptionPlanId"] = subscriptionPlan + payload["subscriptionPlanName"] = subscriptionPlan } data, err := json.Marshal(payload) From 990ad631ca69a81d7f2f42c8bae389d1eaf8249e Mon Sep 17 00:00:00 2001 From: Renuka Fernando Date: Thu, 16 Jul 2026 17:28:17 +0530 Subject: [PATCH 2/2] fix(cli): correct subscription create payload field names The CLI was sending `apiId` and `subscriptionPlanName` in the subscription create request body. The DevPortal API (devportal-openapi-spec-v0.9.yaml, SubscriptionCreateRequest) requires `artifactId` and `subscriptionPlanId`, which the subscriptionService.js also confirms at the destructuring site. Update both the payload builder and the test assertions accordingly. --- cli/src/cmd/devportal/subscription/commands_test.go | 4 ++-- cli/src/cmd/devportal/subscription/create.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cli/src/cmd/devportal/subscription/commands_test.go b/cli/src/cmd/devportal/subscription/commands_test.go index d4928ecc1..1cce689ea 100644 --- a/cli/src/cmd/devportal/subscription/commands_test.go +++ b/cli/src/cmd/devportal/subscription/commands_test.go @@ -60,7 +60,7 @@ func TestRunCreateCommand_SendsJSONPayload(t *testing.T) { if err := runCreateCommand(); err != nil { t.Fatalf("unexpected error: %v", err) } - if gotBody != `{"apiId":"api-1","subscriptionPlanName":"gold"}` { + if gotBody != `{"artifactId":"api-1","subscriptionPlanId":"gold"}` { t.Fatalf("unexpected request body %q", gotBody) } } @@ -207,7 +207,7 @@ func TestRunCreateCommand_OmitsSubscriptionPlanWhenEmpty(t *testing.T) { if err := runCreateCommand(); err != nil { t.Fatalf("unexpected error: %v", err) } - if gotBody != `{"apiId":"api-1"}` { + if gotBody != `{"artifactId":"api-1"}` { t.Fatalf("unexpected request body %q", gotBody) } } diff --git a/cli/src/cmd/devportal/subscription/create.go b/cli/src/cmd/devportal/subscription/create.go index d0590a526..08113f70d 100644 --- a/cli/src/cmd/devportal/subscription/create.go +++ b/cli/src/cmd/devportal/subscription/create.go @@ -108,10 +108,10 @@ func buildCreatePayload() ([]byte, error) { } payload := map[string]string{ - "apiId": apiID, + "artifactId": apiID, } if subscriptionPlan != "" { - payload["subscriptionPlanName"] = subscriptionPlan + payload["subscriptionPlanId"] = subscriptionPlan } data, err := json.Marshal(payload)