{"record":{"id":"bc1e9d0252fce2af","repo":"portainer/portainer","slug":"invalid-edge-job-name-format-allowed-characters-a-bc1e9d","errorCode":null,"errorMessage":"invalid Edge job name format. Allowed characters are: [a-zA-Z0-9_.-]","messagePattern":"invalid Edge job name format\\. Allowed characters are: \\[a-zA-Z0-9_\\.-\\]","errorType":"validation","errorClass":null,"httpStatus":400,"severity":"error","filePath":"api/http/handler/edgejobs/edgejob_update.go","lineNumber":33,"sourceCode":"\t\"github.com/portainer/portainer/api/internal/endpointutils\"\n\thttperror \"github.com/portainer/portainer/pkg/libhttp/error\"\n\t\"github.com/portainer/portainer/pkg/libhttp/request\"\n\t\"github.com/portainer/portainer/pkg/libhttp/response\"\n\t\"github.com/portainer/portainer/pkg/validate\"\n)\n\ntype edgeJobUpdatePayload struct {\n\tName           *string\n\tCronExpression *string\n\tRecurring      *bool\n\tEndpoints      []portainer.EndpointID\n\tEdgeGroups     []portainer.EdgeGroupID\n\tFileContent    *string\n}\n\nfunc (payload *edgeJobUpdatePayload) Validate(r *http.Request) error {\n\tif payload.Name != nil && !validate.Matches(*payload.Name, `^[a-zA-Z0-9][a-zA-Z0-9_.-]+$`) {\n\t\treturn errors.New(\"invalid Edge job name format. Allowed characters are: [a-zA-Z0-9_.-]\")\n\t}\n\n\treturn nil\n}\n\n// @id EdgeJobUpdate\n// @summary Update an EdgeJob\n// @description **Access policy**: administrator\n// @tags edge_jobs\n// @security ApiKeyAuth\n// @security jwt\n// @accept json\n// @produce json\n// @param id path int true \"EdgeJob Id\"\n// @param body body edgeJobUpdatePayload true \"EdgeGroup data\"\n// @success 200 {object} portainer.EdgeJob\n// @failure 500\n// @failure 400","sourceCodeStart":15,"sourceCodeEnd":51,"githubUrl":"https://github.com/portainer/portainer/blob/17e74456ff6e794b9d5439ec3fa06922aa18a3f8/api/http/handler/edgejobs/edgejob_update.go#L15-L51","documentation":"Error \"invalid Edge job name format. Allowed characters are: [a-zA-Z0-9_.-]\" thrown in portainer/portainer.","triggerScenarios":"Thrown at api/http/handler/edgejobs/edgejob_update.go:33 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"17e74456ff6e794b9d5439ec3fa06922aa18a3f8","analyzedAt":"2026-08-26T23:09:01.915Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}