hasura/graphql-engine · error · NDCValidationError
Field {field_name:} not found in object type {object_type:}
Error message
Field {field_name:} not found in object type {object_type:} in data connector {data_connector_name:}. What it means
A field mapping references a field that does not exist in the connector's object type. Validation ensures mapped fields exist in the NDC object type of the data connector.
Source
Thrown at v3/crates/metadata-resolve/src/helpers/ndc_validation.rs:156
"Unsupported type representation {representation:} in scalar type {scalar_type:}, for argument preset name {argument_name:}. Only 'json' representation is supported."
)]
UnsupportedTypeInDataConnectorLinkArgumentPreset {
representation: String,
scalar_type: DataConnectorScalarType,
argument_name: open_dds::types::DataConnectorArgumentName,
},
#[error(
"Argument '{argument_name:}' used in argument mapping for the field '{field_name:}' in object type '{object_type_name:}' is not defined in the data connector '{data_connector_name:}'."
)]
NoSuchArgumentInNDCArgumentMapping {
argument_name: open_dds::arguments::ArgumentName,
field_name: FieldName,
object_type_name: Qualified<CustomTypeName>,
data_connector_name: Qualified<DataConnectorName>,
},
#[error(
"Field {field_name:} not found in object type {object_type:} in data connector {data_connector_name:}."
)]
NoSuchFieldInObjectType {
data_connector_name: Qualified<DataConnectorName>,
field_name: String,
object_type: String,
},
#[error("Internal error while serializing error message. Error: {err:}")]
InternalSerializationError { err: serde_json::Error },
}
pub fn validate_ndc(
model_name: &Qualified<ModelName>,
model: &models::Model,
schema: &data_connectors::DataConnectorSchema,
) -> std::result::Result<(), NDCValidationError> {
let Some(model_source) = &model.source else {View on GitHub (pinned to 724551b9ae)
Solutions
- Inspect the connector's object type fields and correct the mapped field name
- Refresh/reload the connector schema
- Update the mapping if the object type name itself is wrong
Defensive patterns
Strategy: validation
Validate before calling
let obj = connector.object_types.get(object_type).ok_or(config_err)?; assert!(obj.fields.contains_field(&field_name));
Prevention
- Refresh connector schema before validating field mappings
When it happens
Trigger: Mapping field 'x' when the connector's object type only defines 'y'; connector object type shape changed (field renamed/removed).
Common situations: Connector schema drift after upstream changes; stale schema cache; incorrect object type chosen in the mapping.
Related errors
- Argument '{argument_name:}' used in argument mapping for the
- Missing mapping for field {field_name:} when mapping type {t
- the type {unknown_ndc_field_type_name:} is not defined as an
- field '{field_name:}' could not be found in field mappings f
- Field mapping {field_name} not found for object type {object
AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28).
Data as JSON: /api/errors/b865fea8a78846d9.
Report an issue: GitHub.