Signing Url using GroupDocs API


Can somebody please help me with the list of GroupDocs API calls that are needs to create an envelope, put a document in it, assign a signer, place signing block and generate a signing Url which can be sent to somebody for signing?


Hi @sudiptamodak Thank you for your interest in GroupDocs. Please check our documentation here and you will find code examples for how to do all you need.


Thanks for the reply. The example in the link given by you mentions creation of the envelope which I have already been able to accomplish. I need a way to generate a signing Url that can be rendered in any browser and the recipient can sign it.

We are evaluating many signing providers (DocuSign, AdobeSign, SignNow, etc) for the development of a signing solution in CDK Global ( and one of our prime requirements is to have the ability to generate a signingUrl which can then be rendered in any browser (on multiple devices) to allow us to take signatures from customers.

Is is possible to have a support call with you to be able to present our problems in a better way?


Hi @sudiptamodak To render the envelop you will need such URL{envelop id}/{recipient id}

envelop id you will get in response from the CreateSignatureEnvelope method call
recipient id to get this data you will need to add recipient as described here and then get recipient data as described here

Best regards.


Thanks for the reply. I am trying to follow the example in

While uploading a document from my local system, I get ‘Nullpointer’ exception. Following is the code:

File signDoc = new File("/Users/modaks/Documents/uSign/SignNow/sample_blank_pdf.pdf");
Http.MultipartFormData.FilePart file = new Http.MultipartFormData.FilePart(“key”, signDoc.getName(), “PDF”, signDoc);
StorageApi storageApi = new StorageApi();
FileInputStream is = new FileInputStream(file.getFile());
UploadResponse uploadResponse = storageApi.Upload(“945fc5dcf4632053”, signDoc.getName(), “uploaded”, “”, 1, new FileStream(is));

I also tried to Upload a file using a url

StorageApi storageApi = new StorageApi();
UploadResponse uploadResponse = storageApi.UploadWeb(“945fc5dcf4632053”, “”);

Can you help?


Hello @sudiptamodak,

From your code example , I see that you are missed the RequestSigner initialisation :

ApiInvoker.getInstance().setRequestSigner( new GroupDocsRequestSigner(“your private _key”));

This initialization is very important, so please add it and test your code again.

Best regards,
Evgen Efimov


Thanks for the reply.

I am now able to generate the signing Url using API in response to the following API request:


“result”: {
“recipients”: [
“id”: “df775cfbe609083c96697ddfae8e10fe”,
“firstName”: “Sudipta”,
“lastName”: “Modak”,
“email”: "",
“userGuid”: “565ed35507972b5f”,
“order”: 0,
“roleId”: 2,
“status”: 1,
“statusMessage”: null,
“statusDateTime”: “2017-10-09T18:13:58.1710401ZZ”,
“delegatedRecipientId”: null,
“signatureFingerprint”: null,
“signatureHost”: null,
“signatureLocation”: null,
“signatureBrowser”: null,
“embedUrl”: “”,
“comment”: null
“status”: “Ok”,
“error_message”: null,
“composedOn”: 1507572837625

The embedUrl that I get throws a 404 when I paste it to browser.

But the Url I get in the mail ( works. I noticed that the Url in mail has a ‘signature2’ appended to baseUrl whereas the ‘enbedUrl’ that comes from API response has a ‘signature’ appended. So, the Urls are different. Can you confirm if this is a possible error?


Hello @sudiptamodak,

We are described it in our documentation of the demo example ( As you can see that to build correct enbedUrl you should use only this configuration:

String enbedUrl = “" + envelopeGuid + “/” + recipientGuid;

So, please use it for your tests.


Thanks for the reply


You are welcome.