Between the docs[1][2] and the examples[3] I was up and running using my own IO stack in a couple of evenings. If I had used the IO stack from the library it would have been very easy.
Another couple of evenings and I had it integrated with Windows' certificate store. In the end it wasn't very difficult to implement, but it was a bit more of a challenge figuring out the documentation and how it related to mbedTLS.
Definitely a rewarding experience, gave me some nice insights into the plumbing.
edit: Note, not trying to argue replacing libcurl is a weekend project!
[1]: https://mbed-tls.readthedocs.io/projects/api/en/latest/
[2]: https://mbed-tls.readthedocs.io/projects/api/en/latest/api/g...
[3]: https://github.com/Mbed-TLS/mbedtls/blob/development/program...