goharbor/harbor · error · BadRequestError

BAD_REQUEST

BAD_REQUEST

Error message

the immutable_rule_id doesn't match the id in the payload body of ImmutableRule

What it means

Error "the immutable_rule_id doesn't match the id in the payload body of ImmutableRule" thrown in goharbor/harbor.

Source

Thrown at src/server/v2.0/handler/immutable.go:99

	projectID, err := ia.getProjectID(ctx, projectNameOrID)
	if err != nil {
		return ia.SendError(ctx, err)
	}

	if err := ia.requireRuleAccess(ctx, projectID, params.ImmutableRuleID); err != nil {
		return ia.SendError(ctx, err)
	}

	if err := ia.immuCtl.DeleteImmutableRule(ctx, params.ImmutableRuleID); err != nil {
		return ia.SendError(ctx, err)
	}

	return operation.NewDeleteImmuRuleOK()
}

func (ia *immutableAPI) UpdateImmuRule(ctx context.Context, params operation.UpdateImmuRuleParams) middleware.Responder {
	if params.ImmutableRuleID != params.ImmutableRule.ID {
		return ia.SendError(ctx, errors.BadRequestError(fmt.Errorf("the immutable_rule_id doesn't match the id in the payload body of ImmutableRule")))
	}
	projectNameOrID := parseProjectNameOrID(params.ProjectNameOrID, params.XIsResourceName)
	if err := ia.RequireProjectAccess(ctx, projectNameOrID, rbac.ActionUpdate, rbac.ResourceImmutableTag); err != nil {
		return ia.SendError(ctx, err)
	}

	metadata := model.Metadata{}
	if err := lib.JSONCopy(&metadata, params.ImmutableRule); err != nil {
		log.Warningf("failed to call JSONCopy into Metadata of the immutable rule when UpdateImmuRule, error: %v", err)
	}

	projectID, err := ia.getProjectID(ctx, projectNameOrID)
	if err != nil {
		return ia.SendError(ctx, err)
	}
	metadata.ProjectID = projectID

	if err = ia.requireRuleAccess(ctx, projectID, metadata.ID); err != nil {

View on GitHub (pinned to 7b2fd08cc5)

When it happens

Trigger: Thrown at src/server/v2.0/handler/immutable.go:99 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of goharbor/harbor@7b2fd08cc5 (2026-08-16). Data as JSON: /api/errors/88e1e439f86e5554. Report an issue: GitHub.