SigNoz/signoz · error · basemodel.ApiError
couldn't create cloudprovider ingestion key: status: %s, err
Error message
couldn't create cloudprovider ingestion key: status: %s, error: %s
What it means
The request to create a new cloud-provider ingestion key completed but the gateway responded with a status other than "success", carrying its own error message. Creation did not succeed at the application level even though HTTP succeeded.
Source
Thrown at ee/query-service/app/api/cloudIntegrations.go:271
slog.InfoContext(ctx, "no existing ingestion key found for cloud integration, creating a new one",
"cloud_provider", cloudProvider,
)
createKeyResult, apiErr := requestGateway[createIngestionKeyResponse](
ctx, gatewayUrl, licenseKey, "/v1/workspaces/me/keys",
map[string]any{
"name": cloudProviderKeyName,
"tags": []string{"integration", cloudProvider},
},
)
if apiErr != nil {
return "", basemodel.WrapApiError(
apiErr, "couldn't create cloudprovider ingestion key",
)
}
if createKeyResult.Status != "success" {
return "", basemodel.InternalError(fmt.Errorf(
"couldn't create cloudprovider ingestion key: status: %s, error: %s",
createKeyResult.Status, createKeyResult.Error,
))
}
ingestionKey := createKeyResult.Data.Value
if len(ingestionKey) < 1 {
// Fail early if actual response structure and expectation here ever diverge
return "", basemodel.InternalError(fmt.Errorf(
"ingestion key creation response not as expected",
))
}
return ingestionKey, nil
}
func requestGateway[ResponseType any](
ctx context.Context, gatewayUrl string, licenseKey string, path string, payload any,View on GitHub (pinned to 5069bf80b0)
Solutions
- Read the surfaced createKeyResult.Error text for the gateway's reason
- Resolve the reported cause (quota, conflict, permissions)
- Retry creation once resolved
- Escalate to SigNoz support if the gateway error is opaque
Defensive patterns
Strategy: fallback
Try / catch
Parse the gateway's error text; fall back to searching for an existing key (it may have been created despite the error) before retrying creation.
Prevention
- Search before create to avoid quota/conflict errors
- Handle idempotently: re-run search after ambiguous failures
When it happens
Trigger: The search found no existing key, so getOrCreateCloudProviderIngestionKey attempts creation, and the gateway rejects it: name conflicts, quota limits, permission or license problems.
Common situations: Hitting a limit on ingestion keys, stale conflicting key names, or gateway-side permission changes.
Related errors
- couldn't search for cloudprovider ingestion key: status: %s,
- ingestion keys search response not as expected
- gateway_unsupported
- couldn't query for deployment info: error: %w
- couldn't unmarshal deployment info response: error: %w
AI-assisted analysis of SigNoz/signoz@5069bf80b0 (2026-08-28).
Data as JSON: /api/errors/9a20f47540ecd8b5.
Report an issue: GitHub.