This [iText sample](https://github.com/itext/itext-publications-samples-dotnet/blob/f1dff9a5c21ea55d2da3760411f0fbe4425c8962/itext/itext.samples/itext/samples/sandbox/signatures/twophase/TwoPhaseSigningExample.cs#L20) should be the most fitting one for your use case.
But the exact implementation depends on what you are getting back from your provider. A plain signature or a complete CMS container. From the documentation available online, I see only a plain signature.
If so then you only have to replace method GetRSASignatureForDigest with a call to the API.