{"record":{"id":"ae6fdf435b161898","repo":"pulumi/pulumi","slug":"listing-stack-webhooks-w","errorCode":null,"errorMessage":"listing stack webhooks: %w","messagePattern":"listing stack webhooks: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/cmd/pulumi/stack/stack_webhook_list.go","lineNumber":108,"sourceCode":") (stackWebhookListClient, client.StackIdentifier, error) {\n\treturn RequireCloudStack(ctx, cmdutil.Diag(), pkgWorkspace.Instance, cmdBackend.DefaultLoginManager, stackFlag)\n}\n\nfunc runStackWebhookList(\n\tctx context.Context,\n\tw io.Writer,\n\tfactory stackWebhookListClientFactory,\n\tstackFlag string,\n\trender webhookListRenderFunc,\n) error {\n\tc, stackID, err := factory(ctx, stackFlag)\n\tif err != nil {\n\t\treturn err\n\t}\n\n\twebhooks, err := c.ListStackWebhooks(ctx, stackID)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"listing stack webhooks: %w\", err)\n\t}\n\n\treturn render(w, webhooks)\n}\n\ntype webhookListRenderFunc func(w io.Writer, webhooks []apitype.Webhook) error\n\n// webhookListEnvelope is the JSON shape emitted by `pulumi stack webhook list --output=json`.\ntype webhookListEnvelope struct {\n\tWebhooks []webhookJSON `json:\"webhooks\"`\n\tCount    int           `json:\"count\"`\n}\n\ntype webhookJSON struct {\n\tID      string   `json:\"id\"`\n\tName    string   `json:\"name\"`\n\tURL     string   `json:\"url\"`\n\tFormat  string   `json:\"format\"`","sourceCodeStart":90,"sourceCodeEnd":126,"githubUrl":"https://github.com/pulumi/pulumi/blob/793f7b2e160db4321fb7fb6b0607461e01cb251e/pkg/cmd/pulumi/stack/stack_webhook_list.go#L90-L126","documentation":"This error wraps a failure from `ListStackWebhooks` in `pulumi stack webhook list`. It means the backend call that enumerates the stack's webhooks failed, so no webhook list can be rendered.","triggerScenarios":"Running `pulumi stack webhook list` when the stack cannot be resolved, the cloud API is unreachable, or the token lacks permission to list webhooks for the stack/org.","commonSituations":"Not logged in or using an expired access token; pointing at a self-managed backend without webhook support; network/firewall blocking api.pulumi.com; wrong `--stack` reference.","solutions":["Check login state and connectivity: `pulumi whoami`, then re-run the command.","Confirm the stack name/org is correct and the backend supports webhooks (Pulumi Cloud).","Re-authenticate with `pulumi login` or refresh the access token; retry on transient 5xx errors."],"exampleFix":null,"handlingStrategy":"retry","validationCode":"# check auth and reachability first\npulumi whoami || pulumi login\n","typeGuard":null,"tryCatchPattern":"webhooks, err := c.ListStackWebhooks(ctx, stackID)\nif err != nil {\n\tif isRetryable(err) { // 429/5xx/network\n\t\treturn retry.WithBackoff(3, func() error { _, err := c.ListStackWebhooks(ctx, stackID); return err })\n\t}\n\treturn fmt.Errorf(\"listing stack webhooks: %w\", err)\n}","preventionTips":["Ensure you are logged in (`pulumi whoami`) before running list commands in scripts.","Only use this command against backends that support stack webhooks (Pulumi Cloud).","Add exponential backoff for transient 429/5xx responses in automation."],"tags":["cli","webhook","pulumi-service","http"],"backgroundTag":"api-request-failed","analyzedSha":"793f7b2e160db4321fb7fb6b0607461e01cb251e","analyzedAt":"2026-08-31T09:36:43.099Z","schemaVersion":2},"datasetVersion":"2026-09-01T08:17:40.651Z"}