@rob42 I'm still not sure we're doing this right, although you're getting close. ATM the key name (UUID or MMSI) is is not defined anywhere. How about something like this?

```json
"vessels": {
    "type": "object",
    "required": true,
    "description": "A wrapper object for vessel objects, each describing vessels in range, including this vessel.",
    "properties": {
        "vessel": {
            "properties": {
                "name": {
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9]{8,}$",
                    "description": "name/key of the object containing vessel data. Must be either MMSI (9 char) or UUID (8 char)"
                }
            },

            "additionalProperties": { "$ref": "vessel.json#" }
        }
    }
}
````