Add a new descriptor to a DescriptorSet, and properties associated with it.


  • set: Name of the set.
  • [optional] _ref: Reference to be used within the transaction.
  • [optional] label: Specifies a label for the added descriptor.



The set parameter specifies the name of the DescriptorSet to which the added Descriptor will be inserted. If the set does not exist, an error will be returned. The DescriptorSet is added using the AddDescriptorSet command.

The label parameter specifies a user-defined label associated with the added Descriptor. If unspecified, it will default to “None”.

ApertureDB expects one, and only one, blob for each AddDescriptor command. The expected blob is an array of 32-bit floating point values, that will be parsed and checked if its size matches with the one specified upon creation of the DescriptorSet.


Insert a Descriptor representing a person’s face to the DescriptorSet with the name of “pretty_faces”, insert an Image of the face, and create a connection between the new image and the new descriptor:

[ {
    "AddImage" : {
        "_ref" : 1,
        "properties" : {
            "description" : "profile photo"
    "AddDescriptor": {
        "set": "pretty_faces",    # Specify the name of the DescriptorSet
        "label": "Ricky Fort",
        "properties": {
            "gender": "M",
            "age": 45
        "link": {
            "ref": 1
} ]