Vendor model opcodes

I have a vendor model bt_mesh_model_op defined as follows

const struct bt_mesh_model_op _admin_model_ops[] = {


    { BT_MESH_MODEL_OP_3(OPCODE_SET_UNACK, VENDOR_CID), BT_MESH_LEN_EXACT(4),  event_set_unack},
    BT_MESH_MODEL_OP_END,
};
OPCODE_SET_UNACK is an enumeration
If the value is 0 - 3 I get "invalid message size"  when publishing the message
If the value is > 3 the message goes out
Are the values 0-3 reserved ? Where is it documented?
What are the guidelines for creating vendor specific opcodes?
Thanks
Related