{"record":{"id":"c4fde28fc56c181c","repo":"SigNoz/signoz","slug":"integration-id-is-required","errorCode":null,"errorMessage":"integration_id is required","messagePattern":"integration_id is required","errorType":"http","errorClass":"model.ApiError","httpStatus":400,"severity":"warning","filePath":"pkg/query-service/app/integrations/controller.go","lineNumber":94,"sourceCode":"\nfunc (c *Controller) Install(ctx context.Context, orgId string, req *InstallIntegrationRequest, createdBy string, creator valuer.UUID) (*IntegrationsListItem, *model.ApiError) {\n\tres, apiErr := c.mgr.InstallIntegration(\n\t\tctx, orgId, req.IntegrationId, req.Config, createdBy, creator,\n\t)\n\tif apiErr != nil {\n\t\treturn nil, apiErr\n\t}\n\tagentConf.NotifyConfigUpdate(ctx)\n\treturn res, nil\n}\n\ntype UninstallIntegrationRequest struct {\n\tIntegrationId string `json:\"integration_id\"`\n}\n\nfunc (c *Controller) Uninstall(ctx context.Context, orgId string, req *UninstallIntegrationRequest) *model.ApiError {\n\tif len(req.IntegrationId) < 1 {\n\t\treturn model.BadRequest(fmt.Errorf(\n\t\t\t\"integration_id is required\",\n\t\t))\n\t}\n\n\tapiErr := c.mgr.UninstallIntegration(\n\t\tctx, orgId, req.IntegrationId,\n\t)\n\tif apiErr != nil {\n\t\treturn apiErr\n\t}\n\tagentConf.NotifyConfigUpdate(ctx)\n\treturn nil\n}\n\nfunc (c *Controller) GetPipelinesForInstalledIntegrations(ctx context.Context, orgId string) ([]pipelinetypes.GettablePipeline, error) {\n\treturn c.mgr.GetPipelinesForInstalledIntegrations(ctx, orgId)\n}\n","sourceCodeStart":76,"sourceCodeEnd":112,"githubUrl":"https://github.com/SigNoz/signoz/blob/5069bf80b08f1f00d7e014eccc09902f9871004f/pkg/query-service/app/integrations/controller.go#L76-L112","documentation":"Validation error returned by the integrations Controller.Uninstall when the request omits integration_id (empty string). It maps to a 400 Bad Request.","triggerScenarios":"Calling the uninstall integration API with an empty or missing integration_id field in the JSON body.","commonSituations":"Client forgets to set integration_id, sends an empty string, or uses the wrong body key (e.g. id instead of integration_id).","solutions":["Include a non-empty integration_id in the request body","Verify the JSON key is exactly integration_id","Fetch valid integration IDs via the list integrations endpoint first"],"exampleFix":"// before\n{\"integration_id\": \"\"}\n\n// after\n{\"integration_id\": \"my-integration\"}","handlingStrategy":"validation","validationCode":"if (!req.integration_id || req.integration_id.trim()==='') throw new Error('integration_id is required');","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate required fields client-side","Use integration IDs from the list endpoint"],"tags":["integrations","validation","http"],"backgroundTag":"missing-required-field","analyzedSha":"5069bf80b08f1f00d7e014eccc09902f9871004f","analyzedAt":"2026-08-28T06:22:12.824Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}