Hey Usiel,
Yes, this is a 100% supported feature!
How did you discover it?
Can you share with us your plans for setting the code yourself?
The reason why we still have not documented this is, some customers stop calling our '/verify' endpoint once they set the code on their backend as they can track the code they sent to each user and they can determine whether the user input the correct code on their own.
However if customers don't call '/verify', this puts the onus of maintaining the expiration of the OTP on their backend, which gets messy quickly.
Also it prevents us from tracking OTP usage/conversion rate of each our of customers, which is very important.
By tracking conversion rate that we can detect attacks such those where bots request for OTPs to rack up the cost of sending OTPs without ever using those OTPs, and also it helps us detect degraded OTP routes.
Once we detect attack scenarios, various mechanisms will trigger to defend against attacks.
Once we detect OTP degradation, various mechanisms will trigger to switch to better OTP routes or send auto-followup OTP through another route or through voice, etc.
Hope this information is useful and insightful on how we always ensure high OTP reliability.
khor