In a large stock pot, add water, whole chicken (or chicken breasts), vegetables, and all seasonings. Bring contents to a boil, reduce heat, and simmer for 1-1½ hours until chicken is tender and falling off of the bone.
Turn off heat and carefully remove chicken from pot. Place chicken in a large bowl and begin to pull the meat off of the bone. Set chicken meat aside and discard bones.
Add lime zest and lime juice to the stock/vegetable mixture. Using an immersion blender, carefully mix until very smooth. Re-adjust seasoning to taste. Stir in diced tomatoes.
Return chicken meat to pot, stir, and simmer under low heat for 15-20 minutes. Garnish with fresh cilantro, avocado, and extra lime juice.