SigNoz/signoz · warning · model.ApiError
integration_id is required
Error message
integration_id is required
What it means
Validation error returned by the integrations Controller.Uninstall when the request omits integration_id (empty string). It maps to a 400 Bad Request.
Source
Thrown at pkg/query-service/app/integrations/controller.go:94
func (c *Controller) Install(ctx context.Context, orgId string, req *InstallIntegrationRequest, createdBy string, creator valuer.UUID) (*IntegrationsListItem, *model.ApiError) {
res, apiErr := c.mgr.InstallIntegration(
ctx, orgId, req.IntegrationId, req.Config, createdBy, creator,
)
if apiErr != nil {
return nil, apiErr
}
agentConf.NotifyConfigUpdate(ctx)
return res, nil
}
type UninstallIntegrationRequest struct {
IntegrationId string `json:"integration_id"`
}
func (c *Controller) Uninstall(ctx context.Context, orgId string, req *UninstallIntegrationRequest) *model.ApiError {
if len(req.IntegrationId) < 1 {
return model.BadRequest(fmt.Errorf(
"integration_id is required",
))
}
apiErr := c.mgr.UninstallIntegration(
ctx, orgId, req.IntegrationId,
)
if apiErr != nil {
return apiErr
}
agentConf.NotifyConfigUpdate(ctx)
return nil
}
func (c *Controller) GetPipelinesForInstalledIntegrations(ctx context.Context, orgId string) ([]pipelinetypes.GettablePipeline, error) {
return c.mgr.GetPipelinesForInstalledIntegrations(ctx, orgId)
}
View on GitHub (pinned to 5069bf80b0)
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
Example fix
// before
{"integration_id": ""}
// after
{"integration_id": "my-integration"} Defensive patterns
Strategy: validation
Validate before calling
if (!req.integration_id || req.integration_id.trim()==='') throw new Error('integration_id is required'); Prevention
- Validate required fields client-side
- Use integration IDs from the list endpoint
When it happens
Trigger: Calling the uninstall integration API with an empty or missing integration_id field in the JSON body.
Common situations: Client forgets to set integration_id, sends an empty string, or uses the wrong body key (e.g. id instead of integration_id).
Understand the failure class
Background: "Missing required field" and "field is required" errors: why libraries reject payloads that omit mandatory fields — this error's family across 20 libraries.
Related errors
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/c4fde28fc56c181c.
Report an issue: GitHub.