If you have time, pat the chicken dry and spatchcock it or halve it to help it cook more evenly and get crisper skin.
In a small bowl, whisk together olive oil, minced garlic, smoked paprika, ground cumin, coriander, salt, black pepper, and cayenne. Add the citrus zest and juice, soy or fish sauce if using, and a splash of orange juice. This is your marinade.
Massage the marinade all over the chicken, lifting the skin where you can to get the flavors closer to the meat. If you’re short on time, you can marinate for 15–20 minutes, but a few hours in the fridge is ideal.
Arrange sliced onion and bell pepper on a baking sheet. Place the chicken on top skin side up. Pour any remaining marinade over the chicken and veggies.
Roast in a preheated 425°F (220°C) oven for about 35–45 minutes, depending on the size. The chicken is done when the juices run clear and a thermometer reads 165°F (74°C) at the thickest part of the thigh.
If you’d like extra crisp skin, broil for 1–2 minutes at the end, watching closely so it doesn’t burn.
Remove from the oven and let it rest for 5–10 minutes before carving. Serve with pan juices spooned over the chicken and some roasted onions for a bright finish.