# ContactGroups

The contact Group's APIs are primarily used to interact with the BoldSign application to create, update, delete and get contact group details. This section demonstrates how to to create contact, update contact group details, delete contact group details, get contact group details and get contact list from your Organizations.

## Create contactGroup

{% post /%}
{% path text="/v1/contactGroups/create" /%}

This API is used to create a contact group using unique email addresses. You can then use this contact group when creating a document with the signer type set to ‘Group’ in the BoldSign application.

### Code snippet

{% codetab %}

cURL

```shell
curl -X POST 'https://api.boldsign.com/v1/contactGroups/create' \
-H 'accept: */*' \
-H 'X-API-KEY: {your API key}' \
-H 'Content-Type: application/json' \
-d '{
    "GroupName": "Grouptest1",
    "Contacts": [
        {
            "Name": "Luther Cooper",
            "Email": "luthercooper@gmail.com"
        },
        {
            "Name": "Hank White",
            "Email": "hankwhite@gmail.com"
        }
     ],
    "Directories": ["Sales", "Legal"] 
}'
```

C#

```csharp
var apiClient = new ApiClient("https://api.boldsign.com", "{apikey}");
var groupContactClient = new GroupContactClient(apiClient);

var groupContact = new GroupContactDetails ()
{
  GroupName = "Testsdk",
  Contacts = new List<Contacts>
  {
    new Contacts
    {
      Name = "LutherCooper",
      Email = "luthercooper@cubeflakes.com"
    },
      new Contacts
      {
        Name = "Hankwhite",
        Email = "hankwhite@cubeflakes.com"
      }
  },
  Directories = new List<string> { "Sales", "Legal" }
};

var createGroupContactResponse = await groupContactClient.CreateGroupContactAsync(groupContact).ConfigureAwait(false);
```

Python

```python
import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key="YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:
  group_contacts_api = boldsign.GroupContactsApi(api_client)
  contact = boldsign.GroupUser(
      name="LutherCooper",
      email="luthercooper@cubeflakes.com"
  )
  group_contact = boldsign.GroupContactDetails(
      groupName="Test_Group",
      contacts=[contact],
      directories=["directory1"]
  )

  group_contacts_api.create_group_contact(
      group_contact_details=group_contact
  )
```

PHP

```php
<?php
require_once "vendor/autoload.php";

$config = new BoldSign\Configuration();
$config->setHost('https://api.boldsign.com');
$config->setApiKey('YOUR_API_KEY');

$apiInstance = new BoldSign\Api\GroupContactsApi($config);
$contact = new BoldSign\Model\GroupUser();
$contact->setName("John Doe");
$contact->setEmail("john.doe@cubeflakes.com");

$group_contact = new BoldSign\Model\GroupContactDetails();
$group_contact->setGroupName("Test_Group1");
$group_contact->setDirectories(["Test_Directory1"]);
$group_contact->setContacts([$contact]);

$result = $apiInstance->createGroupContact($group_contact);
```

NodeJS

```js
import { GroupContactsApi, GroupContactDetails, GroupUser } from 'boldsign';

const contactGroupApi = new GroupContactsApi("https://api.boldsign.com");
contactGroupApi.setApiKey("YOUR_API_KEY");

var groupUser1 = new GroupUser();
groupUser1.email = "luthercooper@cubeflakes.com";
groupUser1.name = "LutherCooper";

var groupContactDetails = new GroupContactDetails();
groupContactDetails.contacts = [groupUser1];
groupContactDetails.groupName = "Group1";
groupContactDetails.directories = ["dictionary_id"];
contactGroupApi.createGroupContact(groupContactDetails);
```

Java

```java
ApiClient apiClient = Configuration.getDefaultApiClient();
apiClient.setBasePath("https://api.boldsign.com");
apiClient.setApiKey("YOUR_API_KEY");
GroupContactsApi groupContactApi = new GroupContactsApi(apiClient);

GroupUser groupUser1 = new GroupUser();
groupUser1.setName("LutherCooper");
groupUser1.setEmail("luthercooper@cubeflakes.com");

GroupContactDetails groupContactDetails = new GroupContactDetails();
groupContactDetails.setGroupName("Group A");
groupContactDetails.setContacts(Arrays.asList(groupUser1));
groupContactDetails.setDirectories(Arrays.asList("dict"));

CreateGroupContactResponse response = groupContactApi.createGroupContact(groupContactDetails);
```

{% /codetab %}

### Request body

{% nestedtable %}

- {% arguments name="GroupName" /%}{% batch datatype="string" /%}{% required /%}
- The group name of the user.

---

- {% arguments name="Contacts" /%}{% batch datatype="list" /%}{% required /%}
- The list of the contacts
  {% nestedtable %}

    - {% arguments name="name" /%}{% batch datatype="string" /%}{% required /%}
    - The name of the user

  ---

    - {% arguments name="email" /%}{% batch datatype="string" /%}{% required /%}
    - the email of the user.

  {% /nestedtable %}

---

- {% arguments name="Directories" /%}{% batch datatype="list" /%}
- The list of directories to associate with the contact group.

---

{% /nestedtable %}

### Example response

**_200 Success_**

```json
{
  "createdContacts": {
    "groupId": "6797a07d-26d7-41fa-b3a8-c8f72378a7a6c_ErZHN",
    "groupName": "Grouptest1"
  }
}
```
