# Contacts

The Contacts page is the first thing you see when you log in to Send With SES. Each of your 'customer' is represented by a 'contact' which is their Email ID or Mobile number. You can add contacts manually or via the API or import a CSV file.

<figure><img src="https://1895149818-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LUFI_-_gHZ4pIVzoRlq%2Fuploads%2Fe0ctPCo4UTnwm4PSbRbs%2Fsignals.png?alt=media&#x26;token=69732fe5-12d2-45d8-bd3d-bbf8ab4bb9a1" alt=""><figcaption></figcaption></figure>

The contacts module in Send With SES is VERY powerful and can do a lot more than just store contacts. You can attach lots of 'metadata' to contacts. For example, if a customer adds 'red sneakers' to their wish-list, you attach the '**tag**' \[*red sneakers*] to that particular customer. You can then filter your contacts using these tags to generate your own '**signals intelligence**' and send targeted messages manually or via the API or through set rules (automations).

You can attach as many tags (signals) as required to each customer. In fact every time a customer logs in to your website or app, your can stream and store all of their browsing events in real-time. This way you can construct a time line for each and every customer. You can then analyse this data to under individual customer behaviour as well as collective user behaviour. We call this '**signals intelligence**'.&#x20;

You use the '**Send With SES Contacts API**' to stream and store customer browsing events. This API is usually called to add/update contacts and to attach/detach tags (metadata) to contacts.

{% tabs %}
{% tab title="API Request" %}

```
URL: https://api.sendwithses.com/add-contact
```

```
 {
      "method": "POST",
      "url": "https://api.sendwithses.com/add-contact",
      "headers": {"template-key": "*****************************zkLG"},
      "body": {
          "email": "example@gmail.com",
          "status": "Unsubscribe",
          "full_name": "John Due",
          "mobile": "+918098763849",
          "dob": "10-10-1990",
          "gender": "Male",
          "city": "Hyderabad",
          "country": "India",
          "add_tags": "aaa,bbb,ccc",
          "remove_tags": "ddd,eee,fff"
      }
 }
```

**IMPORTANT:**

* All API calls MUST include the **Contact Upload Secret Key**.
* All API calls MUST include the '**Primary Key**' of the contact. Primary Key is used to uniquely identify a customer in the database. This is either the Email or the Mobile Number of a customer.
* Mobile numbers MUST STRICTLY be in **E.164** format. (Example: +442071838750). Plus (+) followed by country code followed by mobile number WITHOUT spaces, dashes or brackets. See this link for more information <https://support.twilio.com/hc/en-us/articles/223183008-Formatting-International-Phone-Numbers>
  {% endtab %}

{% tab title="API Response" %}
Success Response:

{% code lineNumbers="true" %}

```
 {
      "success": true,
      "message": "Contact added"
 }
```

{% endcode %}

Failed Response:

{% code lineNumbers="true" %}

```
 {
      "success": false,
      "message": "message details",
      "error": "error details"
 }
```

{% endcode %}
{% endtab %}
{% endtabs %}

API calls are subject to rate limits as per your plan. This is the rate at which you can call the Send With SES Contacts API.

<table data-full-width="false"><thead><tr><th>Plan</th><th>Rate Limit (requests/minute)</th></tr></thead><tbody><tr><td>Free</td><td>60</td></tr><tr><td>Paid</td><td>1,800</td></tr><tr><td>Enterprise</td><td>Upto 60,000</td></tr></tbody></table>

To illustrate, the 'Paid Plan' has a stream rate of 1800 requests/minute. This lets you do a steady rate of 30 calls per second or a single burst of 1800 calls in one second or anywhere in between. The total API calls must not exceed 1800 in 60 seconds.

**NOTE-1:** API rate limit is a soft limit for paid plans, meaning you can do short bursts that exceed the rate limits as long as you are not abusing our systems.

**NOTE-2:** API rate limit is independent of your Email/SMS sending rate. [Email/SMS sending rates](https://docs.sendwithses.com/getting-started) are determined by AWS. For example, if your AWS SES email sending rate is 250/second, you can send up to 250 emails per second even if you are on the 'Free Plan'.
