{"record":{"id":"eeb7443b508796a1","repo":"ipfs/kubo","slug":"expecting-three-arguments-service-name-endpoint","errorCode":null,"errorMessage":"expecting three arguments: service name, endpoint and key","messagePattern":"expecting three arguments: service name, endpoint and key","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/commands/pin/remotepin.go","lineNumber":494,"sourceCode":"\tArguments: []cmds.Argument{\n\t\tcmds.StringArg(pinServiceNameArgName, true, false, \"Service name.\"),\n\t\tcmds.StringArg(pinServiceEndpointArgName, true, false, \"Service endpoint.\"),\n\t\tcmds.StringArg(pinServiceKeyArgName, true, false, \"Service key.\"),\n\t},\n\tType: nil,\n\tRun: func(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment) error {\n\t\tcfgRoot, err := cmdenv.GetConfigRoot(env)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\trepo, err := fsrepo.Open(cfgRoot)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefer repo.Close()\n\n\t\tif len(req.Arguments) < 3 {\n\t\t\treturn fmt.Errorf(\"expecting three arguments: service name, endpoint and key\")\n\t\t}\n\n\t\tname := req.Arguments[0]\n\t\tendpoint, err := normalizeEndpoint(req.Arguments[1])\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tkey := req.Arguments[2]\n\n\t\tcfg, err := repo.Config()\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tif cfg.Pinning.RemoteServices != nil {\n\t\t\tif _, present := cfg.Pinning.RemoteServices[name]; present {\n\t\t\t\treturn fmt.Errorf(\"service already present\")\n\t\t\t}\n\t\t} else {","sourceCodeStart":476,"sourceCodeEnd":512,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/commands/pin/remotepin.go#L476-L512","documentation":"'ipfs pin remote service add' requires exactly three positional arguments -- service name, endpoint URL and API key/secret. This guard fires when fewer than three were provided (the command's argument declarations expect all three).","triggerScenarios":"Thrown at core/commands/pin/remotepin.go:494 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide all three: 'ipfs pin remote service add <name> <endpoint> <key>'","Get the endpoint and key from your pinning service's dashboard"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}