# Account Contact

Account contacts represent individuals associated with your advertiser account. Each contact has a role and communication preferences.

## Authentication

These endpoints require API-key authentication. See the [Authentication Guide](/advertiser-apis/advertiser-guides/authentication.md) for details on obtaining and using your API key.

## List Account Contacts

```http
GET https://apis.elocal.com/advertisers/v2/account/{accountId}/account-contact
```

**Query parameters:** `page`, `size`

**Response:**

```json
{
  "content": [
    {
      "account_id": 123,
      "contact_id": 1,
      "first_name": "Jane",
      "last_name": "Doe",
      "email": "jane@example.com",
      "phone": "+12125551234",
      "phone_ext": "100",
      "mobile_phone": "+12125559876",
      "timezone": "America/New_York",
      "contact_role": "OWNER",
      "allow_email": true,
      "allow_sms": true,
      "allow_voice": false,
      "allow_whatsapp": false
    }
  ],
  "page": 0,
  "size": 20,
  "total_elements": 1,
  "total_pages": 1,
  "first": true,
  "last": true
}
```

***

## Get an Account Contact

```http
GET https://apis.elocal.com/advertisers/v2/account/{accountId}/account-contact/{contactId}
```

**Response:**

```json
{
  "account_id": 123,
  "contact_id": 1,
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "jane@example.com",
  "phone": "+12125551234",
  "phone_ext": "100",
  "mobile_phone": "+12125559876",
  "timezone": "America/New_York",
  "contact_role": "OWNER",
  "allow_email": true,
  "allow_sms": true,
  "allow_voice": false,
  "allow_whatsapp": false
}
```

***

## Create an Account Contact

```http
POST https://apis.elocal.com/advertisers/v2/account/{accountId}/account-contact
Content-Type: application/json
```

**Request body:**

```json
{
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "jane@example.com",
  "phone": "+12125551234",
  "phone_ext": "100",
  "mobile_phone": "+12125559876",
  "timezone": "America/New_York",
  "contact_role": "OWNER",
  "allow_email": true,
  "allow_sms": true,
  "allow_voice": false,
  "allow_whatsapp": false
}
```

| Field            | Type    | Required | Description                                                                                        |
| ---------------- | ------- | -------- | -------------------------------------------------------------------------------------------------- |
| `first_name`     | string  | Yes      | First name                                                                                         |
| `last_name`      | string  | No       | Last name                                                                                          |
| `email`          | string  | Yes      | Email address                                                                                      |
| `phone`          | string  | No       | Phone number                                                                                       |
| `phone_ext`      | string  | No       | Phone extension                                                                                    |
| `mobile_phone`   | string  | No       | Mobile phone number                                                                                |
| `timezone`       | string  | No       | Timezone (e.g., `America/New_York`)                                                                |
| `contact_role`   | string  | Yes      | Contact role (from [Lookup APIs](/advertiser-apis/advertiser-guides/lookup-apis.md#contact-roles)) |
| `allow_email`    | boolean | No       | Allow email communications                                                                         |
| `allow_sms`      | boolean | No       | Allow SMS communications                                                                           |
| `allow_voice`    | boolean | No       | Allow voice communications                                                                         |
| `allow_whatsapp` | boolean | No       | Allow WhatsApp communications                                                                      |

**Response:** The created account contact object.

***

## Update an Account Contact

```http
PUT https://apis.elocal.com/advertisers/v2/account/{accountId}/account-contact/{contactId}
Content-Type: application/json
```

**Request body:** Include only the fields you want to update.

```json
{
  "phone": "+12125554321",
  "allow_sms": false
}
```

| Field            | Type    | Required | Description                 |
| ---------------- | ------- | -------- | --------------------------- |
| `first_name`     | string  | No       | Updated first name          |
| `last_name`      | string  | No       | Updated last name           |
| `email`          | string  | No       | Updated email address       |
| `phone`          | string  | No       | Updated phone number        |
| `phone_ext`      | string  | No       | Updated phone extension     |
| `mobile_phone`   | string  | No       | Updated mobile phone number |
| `timezone`       | string  | No       | Updated timezone            |
| `contact_role`   | string  | No       | Updated contact role        |
| `allow_email`    | boolean | No       | Updated email preference    |
| `allow_sms`      | boolean | No       | Updated SMS preference      |
| `allow_voice`    | boolean | No       | Updated voice preference    |
| `allow_whatsapp` | boolean | No       | Updated WhatsApp preference |

At least one field must be provided in the update request.

**Response:** The updated account contact object.

***

## Status Codes

| Code | Description                                        |
| ---- | -------------------------------------------------- |
| 200  | Success                                            |
| 400  | Invalid request (e.g., missing required fields)    |
| 401  | Unauthorized — API key invalid or account mismatch |
| 403  | Forbidden                                          |
| 404  | Contact not found                                  |
| 500  | Internal server error                              |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.elocal.com/advertiser-apis/advertiser-guides/account/account-contact.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
