# Web Cloud › Email and Collaborative Solutions › MX Plan › Roundcube platform › Responders API

> Part of the OVHcloud developer hub. Index of every page and section: https://developers.eu.ovhcloud.com/llms.txt
> The Web Cloud product's sections: https://developers.eu.ovhcloud.com/reference/web-cloud/llms.txt
> Everything in one file: https://developers.eu.ovhcloud.com/llms-full.txt

> 5 operations of the OVHcloud API. Calls carry `authorization: Bearer $OVH_TOKEN`; the EU host is shown, Canada and the United States answer on api.ca.ovhcloud.com and api.us.ovhcloud.com.

Page: https://developers.eu.ovhcloud.com/reference/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders/

OpenAPI v1: https://api.eu.ovhcloud.com/1.0/__schemas/developer-hub-navigation/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders.json?format=openapi3
OpenAPI v2: https://api.eu.ovhcloud.com/v2/__schemas/developer-hub-navigation/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders.json?format=openapi3

## Operations

- `GET /email/domain/{domain}/responder` — List responders
- `GET /email/domain/{domain}/responder/{account}` — Get a responder
- `POST /email/domain/{domain}/responder` — Create a responder
- `DELETE /email/domain/{domain}/responder/{account}` — Delete a responder
- `PUT /email/domain/{domain}/responder/{account}` — Update a responder

## List responders

`GET /1.0/email/domain/{domain}/responder`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders/#get-email-domain-domain-responder

**Status:** Stable production version  
**IAM actions:** `emailDomain:apiovh:responder/get`

List responders. Returns the account names of the responders of the domain. Filter them by `account`.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `account` | query | string |  | Responder name |
| `domain` | path | string | yes | Name of your domain name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/email/domain/{domain}/responder" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/email/domain/{domain}/responder")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/email/domain/{domain}/responder");

print_r($result);
?>
```

## Get a responder

`GET /1.0/email/domain/{domain}/responder/{account}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders/#get-email-domain-domain-responder-account

**Status:** Stable production version  
**IAM actions:** `emailDomain:apiovh:responder/get`

Get a responder. Returns the account, content, start and end dates and copy settings of the responder.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `account` | path | string | yes | Name of account |
| `domain` | path | string | yes | Name of your domain name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | email.domain.Responder | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account` | string | read-only | Name of account |
| `content` | string |  | Content of responder |
| `copy` | boolean | read-only | If false, emails will be dropped. If true and copyTo field is empty, emails will be delivered to your mailbox. If true and copyTo is set with an address, emails will be delivered to this address |
| `copyTo` | string | read-only | Account where copy emails |
| `from` | string (date-time) |  | Date of start responder |
| `to` | string (date-time) |  | Date of end responder |

```json
{
  "account": "string",
  "content": "string",
  "copy": true,
  "copyTo": "string",
  "from": "2024-01-01T12:00:00Z",
  "to": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/email/domain/{domain}/responder/{account}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/email/domain/{domain}/responder/{account}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/email/domain/{domain}/responder/{account}");

print_r($result);
?>
```

## Create a responder

`POST /1.0/email/domain/{domain}/responder`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders/#post-email-domain-domain-responder

**Status:** Stable production version  
**IAM actions:** `emailDomain:apiovh:responder/create`

Create a responder. Creates an automatic reply for an account with its content and optional start and end dates, and returns the task. With `copy` false, emails are dropped; with `copy` true, they go to the mailbox, or to `copyTo` when set.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Name of your domain name |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account` | string | yes | Account of domain |
| `content` | string | yes | Content of responder |
| `copy` | boolean | yes | If false, emails will be dropped. If true and copyTo field is empty, emails will be delivered to your mailbox. If true and copyTo is set with an address, emails will be delivered to this address |
| `copyTo` | string |  | Account where copy emails |
| `from` | string (date-time) |  | Date of start responder |
| `to` | string (date-time) |  | Date of end responder |

```json
{
  "account": "string",
  "content": "string",
  "copy": true,
  "copyTo": "string",
  "from": "2024-01-01T12:00:00Z",
  "to": "2024-01-01T12:00:00Z"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | email.domain.TaskSpecialAccount | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account` | string | read-only | Account name of task |
| `action` | domain.DomainSpecialAccountActionEnum | read-only | Action of task — one of `add`, `change`, `delete` |
| `date` | string (date-time) | read-only | Creation date of task |
| `domain` | string | read-only | Domain name of task |
| `id` | integer | read-only | Id of task |
| `type` | domain.DomainSpecialAccountTypeEnum | read-only | Type of action filter — one of `25g`, `alias`, `delete`, `filter`, `forward`, `responder` |

```json
{
  "account": "string",
  "action": "add",
  "date": "2024-01-01T12:00:00Z",
  "domain": "string",
  "id": 0,
  "type": "25g"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/email/domain/{domain}/responder" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.post("/email/domain/{domain}/responder",
	account = None, # Account of domain (type: string)
	content = None, # Content of responder (type: string)
	copy = None, # If false, emails will be dropped. If true and copyTo field is empty, emails will be delivered to your mailbox. If true and copyTo is set with an address, emails will be delivered to this address (type: boolean)
	copyTo = None, # Account where copy emails (type: string, nullable)
	from = None, # Date of start responder (type: datetime, nullable)
	to = None, # Date of end responder (type: datetime, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->post("/email/domain/{domain}/responder", array(
	account => null, // Account of domain (type: string)
	content => null, // Content of responder (type: string)
	copy => null, // If false, emails will be dropped. If true and copyTo field is empty, emails will be delivered to your mailbox. If true and copyTo is set with an address, emails will be delivered to this address (type: boolean)
	copyTo => null, // Account where copy emails (type: string, nullable)
	from => null, // Date of start responder (type: datetime, nullable)
	to => null, // Date of end responder (type: datetime, nullable)
));

print_r($result);
?>
```

## Delete a responder

`DELETE /1.0/email/domain/{domain}/responder/{account}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders/#delete-email-domain-domain-responder-account

**Status:** Stable production version  
**IAM actions:** `emailDomain:apiovh:responder/delete`

Delete a responder. Removes the automatic reply of the email account and returns the task. Follow it under `task/responder/{id}`.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `account` | path | string | yes | Name of account |
| `domain` | path | string | yes | Name of your domain name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | email.domain.TaskSpecialAccount | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account` | string | read-only | Account name of task |
| `action` | domain.DomainSpecialAccountActionEnum | read-only | Action of task — one of `add`, `change`, `delete` |
| `date` | string (date-time) | read-only | Creation date of task |
| `domain` | string | read-only | Domain name of task |
| `id` | integer | read-only | Id of task |
| `type` | domain.DomainSpecialAccountTypeEnum | read-only | Type of action filter — one of `25g`, `alias`, `delete`, `filter`, `forward`, `responder` |

```json
{
  "account": "string",
  "action": "add",
  "date": "2024-01-01T12:00:00Z",
  "domain": "string",
  "id": 0,
  "type": "25g"
}
```

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/email/domain/{domain}/responder/{account}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/email/domain/{domain}/responder/{account}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/email/domain/{domain}/responder/{account}");

print_r($result);
?>
```

## Update a responder

`PUT /1.0/email/domain/{domain}/responder/{account}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/email-and-collaborative-solutions/mx-plan/roundcube-platform/responders/#put-email-domain-domain-responder-account

**Status:** Stable production version  
**IAM actions:** `emailDomain:apiovh:responder/edit`

Update a responder. Changes the `content` of the automatic reply and the dates it is active (`from`, `to`) for the email account.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `account` | path | string | yes | Name of account |
| `domain` | path | string | yes | Name of your domain name |

### Request body (required)

Type: `email.domain.Responder`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `account` | string | read-only | Name of account |
| `content` | string |  | Content of responder |
| `copy` | boolean | read-only | If false, emails will be dropped. If true and copyTo field is empty, emails will be delivered to your mailbox. If true and copyTo is set with an address, emails will be delivered to this address |
| `copyTo` | string | read-only | Account where copy emails |
| `from` | string (date-time) |  | Date of start responder |
| `to` | string (date-time) |  | Date of end responder |

```json
{
  "content": "string",
  "from": "2024-01-01T12:00:00Z",
  "to": "2024-01-01T12:00:00Z"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/email/domain/{domain}/responder/{account}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: email.domain.Responder
result = client.put("/email/domain/{domain}/responder/{account}",
	content = None, # Content of responder (type: string)
	from = None, # Date of start responder (type: string, nullable)
	to = None, # Date of end responder (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: email.domain.Responder
$result = $ovh->put("/email/domain/{domain}/responder/{account}", array(
	content => null, // Content of responder (type: string)
	from => null, // Date of start responder (type: string, nullable)
	to => null, // Date of end responder (type: string, nullable)
));

print_r($result);
?>
```
