A multi-stage network discovery system, comprising: a processor; a network interface configured to connect to a target device, the target device identified by a logical address and associated with a configuration item, CI, record comprising data associated with the target device; a memory (204, 206); a configuration management database, CMDB, that stores the CI record; a sensor comprising instructions that are stored in the memory (204, 206) and are executable on the processor to: receive first probe data from a first probe of the target device, the first probe data comprising constant attribute data of a constant attribute of the target device; store at least part of the first probe data in the CI record; receive subsequent probe data from at least one subsequent probe of the target device using the logical address, the subsequent probe data comprising the constant attribute data of the target device; determine that the constant attribute data from the subsequent probe matches the constant attribute data from the CI record; in response to the determination that the constant attribute data matches the constant attribute data in the CI record, determine whether the subsequent probe data includes required attributes specified in a data contract for the CI record, and rejecting an entire payload of the subsequent probe data as invalid, when the required attributes are not included in the subsequent probe data; and in response to the determination that the subsequent probe data includes the required attributes specified in the data contract, store the subsequent probe data obtained from the subsequent probe in the CI record. a processor; a network interface configured to connect to a target device, the target device identified by a logical address and associated with a configuration item, CI, record comprising data associated with the target device; a memory (204, 206); a configuration management database, CMDB, that stores the CI record; a sensor comprising instructions that are stored in the memory (204, 206) and are executable on the processor to: receive first probe data from a first probe of the target device, the first probe data comprising constant attribute data of a constant attribute of the target device; store at least part of the first probe data in the CI record; receive subsequent probe data from at least one subsequent probe of the target device using the logical address, the subsequent probe data comprising the constant attribute data of the target device; determine that the constant attribute data from the subsequent probe matches the constant attribute data from the CI record; in response to the determination that the constant attribute data matches the constant attribute data in the CI record, determine whether the subsequent probe data includes required attributes specified in a data contract for the CI record, and rejecting an entire payload of the subsequent probe data as invalid, when the required attributes are not included in the subsequent probe data; and in response to the determination that the subsequent probe data includes the required attributes specified in the data contract, store the subsequent probe data obtained from the subsequent probe in the CI record. receive first probe data from a first probe of the target device, the first probe data comprising constant attribute data of a constant attribute of the target device; store at least part of the first probe data in the CI record; receive subsequent probe data from at least one subsequent probe of the target device using the logical address, the subsequent probe data comprising the constant attribute data of the target device; determine that the constant attribute data from the subsequent probe matches the constant attribute data from the CI record; in response to the determination that the constant attribute data matches the constant attribute data in the CI record, determine whether the subsequent probe data includes required attributes specified in a data contract for the CI record, and rejecting an entire payload of the subsequent probe data as invalid, when the required attributes are not included in the subsequent probe data; and in response to the determination that the subsequent probe data includes the required attributes specified in the data contract, store the subsequent probe data obtained from the subsequent probe in the CI record.