# TwiML™ Voice: \<Reject>

The `<Reject>` verb rejects an incoming call to your Twilio number without billing you. This is very useful for blocking unwanted calls.

If the first verb in a TwiML document is `<Reject>`, Twilio will not pick up the call. The call ends with a status of `busy` or `no-answer`, depending on the verb's `reason` attribute. Any verbs after `<Reject>` are unreachable and ignored.

Using `<Reject>` as the first verb in your response is the only way to prevent Twilio from answering a call. Any other response will result in an answered call and your account will be billed.

## Verb Attributes \[#attributes]

The `<Reject>` verb supports the following attributes that modify its behavior:

| Attribute Name               | Allowed Values     | Default Value |
| :--------------------------- | :----------------- | :------------ |
| [reason](#attributes-reason) | `rejected`, `busy` | `rejected`    |

### reason \[#attributes-reason]

The `reason` attribute takes the values `rejected` and `busy`. This tells Twilio what message to play when rejecting a call. Selecting `busy` will play a busy
signal to the caller, while selecting `rejected` will play a standard not-in-service response. The default is `rejected`.

> \[!NOTE]
>
> This is a preference and what is actually played back is determined by the caller's service provider as they dictate what they want to playback to the caller.

## Nesting Rules \[#nesting-rules]

You can't nest any verbs within `<Reject>` and you can't nest `<Reject>` in any other verbs.

## Examples \[#examples]

### Example 1: Reject a call playing a standard not-in-service message \[#examples-1]

Reject a call playing a standard not-in-service message

```js
const VoiceResponse = require('twilio').twiml.VoiceResponse;


const response = new VoiceResponse();
response.reject();

console.log(response.toString());
```

```py
from twilio.twiml.voice_response import Reject, VoiceResponse

response = VoiceResponse()
response.reject()

print(response)
```

```cs
using System;
using Twilio.TwiML;
using Twilio.TwiML.Voice;


class Example
{
    static void Main()
    {
        var response = new VoiceResponse();
        response.Reject();

        Console.WriteLine(response.ToString());
    }
}
```

```java
import com.twilio.twiml.voice.Reject;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
    public static void main(String[] args) {
        Reject reject = new Reject.Builder().build();
        VoiceResponse response = new VoiceResponse.Builder().reject(reject)
            .build();

        try {
            System.out.println(response.toXml());
        } catch (TwiMLException e) {
            e.printStackTrace();
        }
    }
}
```

```go
package main

import (
	"fmt"

	"github.com/twilio/twilio-go/twiml"
)

func main() {
	twiml, _ := twiml.Voice([]twiml.Element{
		&twiml.VoiceReject{},
	})

	fmt.Print(twiml)
}
```

```php
<?php
require_once './vendor/autoload.php';
use Twilio\TwiML\VoiceResponse;

$response = new VoiceResponse();
$response->reject();

echo $response;
```

```rb
require 'twilio-ruby'

response = Twilio::TwiML::VoiceResponse.new
response.reject

puts response
```

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Reject />
</Response>
```

### Example 2: Reject a call playing a busy signal \[#examples-2]

Reject a call playing a busy signal

```js
const VoiceResponse = require('twilio').twiml.VoiceResponse;


const response = new VoiceResponse();
response.reject({
    reason: 'busy'
});

console.log(response.toString());
```

```py
from twilio.twiml.voice_response import Reject, VoiceResponse

response = VoiceResponse()
response.reject(reason='busy')

print(response)
```

```cs
using System;
using Twilio.TwiML;
using Twilio.TwiML.Voice;


class Example
{
    static void Main()
    {
        var response = new VoiceResponse();
        response.Reject(reason: "busy");

        Console.WriteLine(response.ToString());
    }
}
```

```java
import com.twilio.twiml.voice.Reject;
import com.twilio.twiml.VoiceResponse;
import com.twilio.twiml.TwiMLException;


public class Example {
    public static void main(String[] args) {
        Reject reject = new Reject.Builder().reason(Reject.Reason.BUSY).build();
        VoiceResponse response = new VoiceResponse.Builder().reject(reject)
            .build();

        try {
            System.out.println(response.toXml());
        } catch (TwiMLException e) {
            e.printStackTrace();
        }
    }
}
```

```go
package main

import (
	"fmt"

	"github.com/twilio/twilio-go/twiml"
)

func main() {
	twiml, _ := twiml.Voice([]twiml.Element{
		&twiml.VoiceReject{
			Reason: "busy",
		},
	})

	fmt.Print(twiml)
}
```

```php
<?php
require_once './vendor/autoload.php';
use Twilio\TwiML\VoiceResponse;

$response = new VoiceResponse();
$response->reject(['reason' => 'busy']);

echo $response;
```

```rb
require 'twilio-ruby'

response = Twilio::TwiML::VoiceResponse.new
response.reject(reason: 'busy')

puts response
```

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Response>
    <Reject reason="busy" />
</Response>
```
