# Revoke document

{% post /%}
{% path text="/v1/document/revoke" /%}

The document signing process can be called off or revoked by the sender of the document. Once you revoke a document, signers can no longer view or sign it. 

Revoke action can only be performed on documents that have not completed the signing process.

## Code snippet

{% codetab %}

cURL

```shell 
curl -X POST "https://api.boldsign.com/v1/document/revoke?documentId={documentId}" 
     -H 'X-API-KEY: {your API key}' 
     -H "Content-Type: application/json" 
     -d "{\"Message\": \"This is document revoke message\"}"
```

C#

```csharp
var apiClient = new ApiClient("https://api.boldsign.com", "Your_API_Key");

var documentClient = new DocumentClient(apiClient);
documentClient.RevokeDocument("YOUR_DOCUMENT_ID", "This is document revoke message");
```

Python

```python
import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key="YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
    
    document_api = boldsign.DocumentApi(api_client)
	
    revoke_document = boldsign.RevokeDocument(
        message="This is document revoke message")
    
    document_api.revoke_document(document_id="YOUR_DOCUMENT_ID", revoke_document=revoke_document)
```

PHP

```php
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\RevokeDocument;

$config = new Configuration();
$config->setHost('https://api.boldsign.com');
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$revoke_document = new RevokeDocument();
$revoke_document->setMessage("This is document revoke message");

$document_api->revokeDocument($document_id = 'YOUR_DOCUMENT_ID', $revoke_document);
```

Java

```java
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");
        
DocumentApi documentApi = new DocumentApi(client);

RevokeDocument revokeDocument = new RevokeDocument();
revokeDocument.setMessage("This is document revoke message");

documentApi.revokeDocument("YOUR_DOCUMENT_ID", revokeDocument);
```

NodeJS

```js
import { DocumentApi, RevokeDocument } from "boldsign";

const documentApi = new DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const revokeDocumentRequest = new RevokeDocument();
revokeDocumentRequest.message = "This is document revoke message";

documentApi.revokeDocument("YOUR_DOCUMENT_ID", revokeDocumentRequest);
```

{% /codetab %}

## Query parameters

{% nestedtable %}

- {% arguments name="documentId" /%}{% batch datatype="string" /%}{% required /%}
- ID of the requested document to revoke.

{% /nestedtable %}

## Request body

{% nestedtable %}

- {% arguments name="Message" /%}{% batch datatype="string" /%}{% required /%}
- The exact reason for performing a revoke action.

---

- {% arguments name="OnBehalfOf" /%}{% batch datatype="string" /%}
- If the document is created on behalf of the sender, the sender's identity email address must be specified.

{% /nestedtable %}

## Example response

***204 No Content***
