By design SFDC prevents leads from converting if they are in a time-based workflow queue; see
- Help page
- A workaround (involving setting a field that terminates the time-based workflow, is given hereis given here
- An Idea to change behavior is here
You'll probably want to detect that the Lead is in a time-based workflow and if Lead Conversion request comes in, force the Lead out of the time-based workflow using the workaround above before submitting the lead Conversion DML (or whatever makes sense for your business process)