SigNoz/signoz · error · basemodel.ApiError
couldn't query for deployment info: error
Error message
couldn't query for deployment info: error: %w
What it means
Thrown when ah.Signoz.Zeus.GetDeployment fails while resolving the ingestion/API URLs for a license key. Zeus is SigNoz's cloud control plane; this call fetches deployment metadata (region DNS, deployment name) for the given license. Failure means the outbound call to the cloud errored (auth, network, or upstream status).
Solutions
- Check the wrapped error for HTTP status / auth hints
- Validate the license key is active and correct for this deployment
- Verify egress connectivity from query-service to the SigNoz cloud gateway
- Retry after transient network or upstream issues resolve
Defensive patterns
Strategy: retry
Try / catch
Retry with backoff on transient network/upstream failures; fail fast with a clear message on auth/license errors.
Prevention
- Keep the license key valid and monitored
- Ensure egress to the SigNoz cloud gateway is allowed
- Wrap cloud calls with timeout + retry in automation
When it happens
Trigger: Calling CloudIntegrationsGenerateConnectionParams with a license key for which the Zeus deployment lookup fails: invalid/expired license, cloud gateway unreachable, TLS/proxy issues, or upstream 5xx.
Common situations: Expired or wrong license key, egress firewall blocking the SigNoz cloud, DNS problems, or a cloud-side incident.
Related errors
- couldn't create cloudprovider ingestion key: status
- couldn't search for cloudprovider ingestion key: status
- couldn't unmarshal deployment info response: error
- deployment info response not in expected shape. couldn't…
- CodeInternal
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/3bdcd90e23ca5902.
Report an issue: GitHub.
Appendix: source
Thrown at ee/query-service/app/api/cloudIntegrations.go:167
return cloudIntegrationServiceAccount, nil
}
func (ah *APIHandler) getIngestionUrlAndSigNozAPIUrl(ctx context.Context, licenseKey string) (
string, *basemodel.ApiError,
) {
// TODO: remove this struct from here
type deploymentResponse struct {
Name string `json:"name"`
ClusterInfo struct {
Region struct {
DNS string `json:"dns"`
} `json:"region"`
} `json:"cluster"`
}
respBytes, err := ah.Signoz.Zeus.GetDeployment(ctx, licenseKey)
if err != nil {
return "", basemodel.InternalError(fmt.Errorf(
"couldn't query for deployment info: error: %w", err,
))
}
resp := new(deploymentResponse)
err = json.Unmarshal(respBytes, resp)
if err != nil {
return "", basemodel.InternalError(fmt.Errorf(
"couldn't unmarshal deployment info response: error: %w", err,
))
}
regionDns := resp.ClusterInfo.Region.DNS
deploymentName := resp.Name
if len(regionDns) < 1 || len(deploymentName) < 1 {
// Fail early if actual response structure and expectation here ever divergeView on GitHub (pinned to 5069bf80b0)