hasura/graphql-engine · error · DataConnectorError::NdcValidationError

{0}

Error message

{0}

What it means

Transparent wrapper for NDCValidationError at the connector level: the connector's capabilities/schema document failed validation against the NDC specification.

Source

Thrown at v3/crates/metadata-resolve/src/stages/data_connectors/error.rs:30

#[derive(Debug, thiserror::Error)]
#[error("The data connector {data_connector_name} has an error: {error}")]
pub struct NamedDataConnectorError {
    pub data_connector_name: Qualified<DataConnectorName>,
    pub error: DataConnectorError,
}

#[derive(Debug, thiserror::Error)]
pub enum DataConnectorError {
    #[error("the data connector is defined more than once")]
    DuplicateDataConnectorDefinition,
    #[error("The url for the data connector is invalid: {error}")]
    InvalidDataConnectorUrl { error: url::ParseError },
    #[error("Invalid header name {header_name} specified")]
    InvalidHeaderName { header_name: String },
    #[error("Invalid value specified for header {header_name}")]
    InvalidHeaderValue { header_name: String },
    #[error("{0}")]
    NdcValidationError(NDCValidationError),
    #[error(
        "The version specified in the capabilities (\"{version}\") is an invalid version: {error}"
    )]
    InvalidNdcVersion {
        version: String,
        error: semver::Error,
    },
    #[error(
        "The version specified in the capabilities (\"{version}\") is not compatible with the schema version specified. The version requirement is {requirement}"
    )]
    IncompatibleNdcVersion {
        version: String,
        requirement: semver::VersionReq,
    },
}

#[derive(Debug, thiserror::Error)]

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Inspect inner NDCValidationError details
  2. Upgrade the data connector to a spec-conformant version
  3. Fix the capabilities document
Defensive patterns

Strategy: validation

Validate before calling

// Validate the capabilities document against the NDC spec schema before wiring it in
ndc_spec_validation::validate(&capabilities)?;

Try / catch

Catch the wrapper and log the inner NDCValidationError's detailed findings.

Prevention

When it happens

Trigger: Fetching or supplying capabilities that don't conform to the NDC spec while resolving the connector.

Common situations: Connector version mismatch with the spec version expected by this build; hand-written capabilities documents.

Understand the failure class

Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/2217121bc41ba8ba. Report an issue: GitHub.