Hi everyone,
I'm reaching out because I've encountered an unexpected issue with DocuSign and I'm wondering if anyone else has experienced the same thing.
I have an application that has been using DocuSign for over 3 years to handle signature processes. I'm using a demo account, and I've registered an app in the DocuSign developer portal.
When a document is signed or declined, DocuSign sends a POST notification (webhook) to my API. For years, the payload I received looked like this, and was successfully deserialized into this C# class:
public class DocuSignEventNotificationResponse { public string status { get; set; } public string envelopeId { get; set; } public string documentsUri { get; set; } public string recipientsUri { get; set; } public Sender sender { get; set; } } public class Sender { public string userName { get; set; } public string userId { get; set; } public string accountId { get; set; } public string email { get; set; } }
This worked perfectly in my PostNotificationEvent
method, which listens for events like "completed"
or "declined"
.
Suddenly, without any changes on my side, the parameter DocuSignEventNotificationResponse response
now always comes in as null.
I checked the DocuSign logs, and noticed that the payload structure now looks like this:
{ "event": "envelope-completed", "apiVersion": "v2.1", "uri": "/restapi/v2.1/accounts/1e78c******8c2db/envelopes/18*******91dca", "retryCount": 1, "configurationId": 0, "generatedDateTime": "2025-07-16T09:49:25.5964409Z", "data": { "accountId": "1e*******c2db", "userId": "abcdde*******03ed7", "envelopeId": "1870944*********ca" } }
Has the webhook payload schema changed?
Did DocuSign officially modify the structure of the notification events?
I updated my C# class to match this new structure and it works again — but I’d really like to understand:
-
Is this a documented or official change?
-
Is there a way to restore the old payload format?
-
Is this specific to the demo environment or due to new app settings?
Thanks in advance to anyone who can help clarify what happened. I just want to be sure I'm not missing something obvious, and that I'm handling the change properly.