{"record":{"id":"51a5fe4b10ff2688","repo":"hasura/graphql-engine","slug":"the-following-data-connector-arguments-are-not-map","errorCode":null,"errorMessage":"the following data connector arguments are not mapped to an argument: {}","messagePattern":"the following data connector arguments are not mapped to an argument: (.+?)","errorType":"validation","errorClass":"ArgumentMappingIssue","httpStatus":null,"severity":"error","filePath":"v3/crates/metadata-resolve/src/helpers/argument.rs","lineNumber":79,"sourceCode":"        argument_name: ArgumentName,\n        data_type: Qualified<CustomTypeName>,\n    },\n    #[error(\n        \"the type {unknown_ndc_type:} is not defined as an object type in the connector's schema. This type is being mapped to by the type {type_name:} used in argument {argument_name:} which is mapped to the data connector argument {ndc_argument_name:}\"\n    )]\n    UnknownNdcType {\n        argument_name: ArgumentName,\n        ndc_argument_name: DataConnectorArgumentName,\n        type_name: Qualified<CustomTypeName>,\n        unknown_ndc_type: String,\n    },\n    #[error(\"ndc validation error: {0}\")]\n    NDCValidationError(NDCValidationError),\n}\n\n#[derive(Debug, thiserror::Error)]\npub enum ArgumentMappingIssue {\n    #[error(\n        \"the following data connector arguments are not mapped to an argument: {}\",\n        ndc_argument_names.join(\", \")\n    )]\n    UnmappedNdcArguments {\n        ndc_argument_names: Vec<DataConnectorArgumentName>,\n    },\n    #[error(\n        \"the type of argument '{argument_name:}' is not compatible with the type of the data connector argument '{ndc_argument_name:}': {issue:}\"\n    )]\n    IncompatibleType {\n        argument_name: ArgumentName,\n        ndc_argument_name: DataConnectorArgumentName,\n        issue: type_validation::TypeCompatibilityIssue,\n    },\n}\n\nimpl ShouldBeAnError for ArgumentMappingIssue {\n    fn should_be_an_error(&self, flags: &open_dds::flags::OpenDdFlags) -> bool {","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/hasura/graphql-engine/blob/724551b9ae87845594ef0408cff0e50eb6c90dc5/v3/crates/metadata-resolve/src/helpers/argument.rs#L61-L97","documentation":"ArgumentMappingIssue::UnmappedNdcArguments is raised when a data connector link (or command mapping) declares NDC-side arguments that are never mapped to any GraphQL/Hasura argument. The resolver requires every NDC argument the connector expects for a collection/command to be bound to an argument or a preset; leftovers trigger this error listing them.","triggerScenarios":"A command or model mapped to a data connector where the connector's schema declares arguments (e.g. required collection arguments) that have neither an equivalent argument mapping nor an argument preset in the DataConnectorLink; removing an argument mapping without adding a preset; connector adds new required arguments after an upgrade.","commonSituations":"Upgrading a connector that introduces new required NDC arguments; deleting an argument from a command but forgetting to preset it; partial hand-edit of argument mappings in metadata.","solutions":["For each listed NDC argument, either add a corresponding argument mapping or add an argument preset in the DataConnectorLink","If the NDC argument is not needed, preset it to a constant value so it is considered mapped","If the connector made the argument optional, upgrade/downgrade the connector schema so it is no longer required","Re-run validation to confirm no unmapped NDC arguments remain"],"exampleFix":"// before\n// DataConnectorLink has no presets; NDC arguments [tenant_id] unmapped\n// after\n\"argument_presets\": { \"tenant_id\": { \"value\": { \"literal\": \"global\" } } }","handlingStrategy":"validation","validationCode":"let ndc_args: HashSet<_> = connector_schema_args_for(collection).collect();\nlet mapped: HashSet<_> = mappings.iter().map(|m| m.ndc_argument_name.clone())\n    .chain(presets.keys().cloned()).collect();\nlet unmapped: Vec<_> = ndc_args.difference(&mapped).collect();\nassert!(unmapped.is_empty(), \"unmapped NDC arguments: {unmapped:?}\");","typeGuard":null,"tryCatchPattern":"On UnmappedNdcArguments, present the list of unmapped argument names to prompt for presets or mappings.","preventionTips":["Always pair a deleted argument mapping with a preset or removal of the NDC argument","Re-validate after connector upgrades that add required arguments","Codemod argument changes rather than hand-editing"],"tags":["ndc","argument-mapping","data-connectors","metadata"],"backgroundTag":"unmapped-connector-arguments","analyzedSha":"724551b9ae87845594ef0408cff0e50eb6c90dc5","analyzedAt":"2026-08-28T07:32:55.105Z","schemaVersion":2},"datasetVersion":"2026-08-28T11:17:15.048Z"}