> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL.
>
> Documentation indexes by section:
> - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt
> - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt
> - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt
> - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt
>
> Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth
> Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks
>
> OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json
> MCP server: https://docusign.docs.buildwithfern.com/_mcp/server

# RequestStatusChanges

The RequestStatusChanges method requests the envelope status changes for the envelopes for account on or after the specified date/time.

**Note:** The SOAP API calls RequestStatusChanges and RequestStatusCodes were created to provide a high-efficiency way to determine envelope status changes. These calls are the preferred methods for determining status. Generally, customers should poll as infrequently as possible. But for customers that generate a large number of envelopes, frequent polling using these calls is an acceptable option. However, when polling at frequent intervals, the call should include an appropriately short time range for StatusChangedSince. For example, if you are checking for status changes every 15 minutes, do not use a StatusChangedSince of 7 days ago.

If no UserInfo is specified and if the StatusChangedSince is more than 24 hours ago, this call will return information for all users, but only for the previous 24 hours. If no UserInfo is specified and StatusChangedSince is less than 24 hours ago, this call will return information for all users for the specified time.

**`C#`**

```csharp title="C#"
// Create the status change filter to specify the scope of your search
// Here, we are limiting the search to envelopes changed today
// You can also limit by user and status
DocuSignWeb.EnvelopeStatusChangeFilter filter =
    new DocuSignWeb.EnvelopeStatusChangeFilter();

filter.AccountId = _accountId;

DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin =
    new DocuSignWeb.EnvelopeStatusFilterBeginDateTime();

begin.Value = DateTime.Today;
filter.StatusChangedSince = begin.Value;

// Now, make the call with the filter we created
DocuSignWeb.FilteredEnvelopeStatusChanges changes =
    _apiClient.RequestStatusChanges(filter);

if (changes.ResultSetSize > 0)
{
    // Loop through and print out some information about the results
    Console.WriteLine("Changes since today are:");
    foreach (DocuSignWeb.EnvelopeStatusChange change
        in changes.EnvelopeStatusChanges)
    {
        Console.WriteLine("\tEnvelope {0} has status: {1}\n",
            change.EnvelopeID, change.Status);
    }
}
```

**`PHP`**

```php title="PHP"
// Create the status change filter to specify the scope of your search
// Here, we are limiting the search to envelopes changed today
// You can also limit by user and status
$filter = new EnvelopeStatusChangeFilter();
$filter->AccountId = $AccountID;
$filter->StatusChangedSince = todayXsdDate();

// Send
$requestStatusChangesparams = new RequestStatusChanges();
$requestStatusChangesparams->EnvelopeStatusChangeFilter = $filter;
$response = $api->RequestStatusChanges($requestStatusChangesparams);
```

### Schema

![](/_fern-files/_img/f373acea0099e86840cf35591ea6cc54047e209ad0439585cc6314b8874f49cc.webp)

| Name               | Schema Type          | Description                                                                                                                                                                                                                                  |
| ------------------ | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AccountID          | DSXId                | The account ID for the envelope status changes being requested.                                                                                                                                                                              |
| StatusChangedSince | dateTime             | Specifies the date/time when the request begins checking for status changes for envelopes in the account.                                                                                                                                    |
| Statuses           | EnvelopeStatusChange | Optional array of envelope status codes. If provided, this indicates the envelope status code changes being requested. Possible values are: Voided, Created, Deleted, Sent, Delivered, Signed, Completed, Declined, TimedOut and Processing. |
| UserInfo           | UserInfo             | Optional UserInfo object. If provided, this indicates the user whose envelopes are being requested.  UserInfo contains:   - UserName – The user’s name as listed in the account. - Email – The email associated with the user name.          |

### FilteredEnvelopeStatusChanges

This is the response for RequestStatusChanges. It returns the current state of the requested envelopes in an array.

| Name                  | Schema Type           | Description                                                                                                                                                                                                                          |
| --------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| EnvelopeStatusChanges | EnvelopeStatusChanges | An array of EnvelopeStatusChange objects.  Each EnvelopeStatusChange contains:   - EnvelopeID – The envelope ID. - Status – The EnvelopeStatusCode for the envelope. - StatusChanged – The date and time the status change occurred. |
| ResultSetSize         | Integer               | This is the total number of items returned in EnvelopeStatusChanges.                                                                                                                                                                 |