> For an agent: the map of this documentation is at https://escouade.io/en/mail/docs/llms.txt; every page exists in Markdown, at the same address with `.md` appended.

# `save_contact`

Save a contact.

Creates or updates the global record: properties left out are kept. Changes neither audience customisations, nor campaigns already scheduled, nor unsubscribes. Sends nothing.

## Access

- **Key**: an Escouade Mail key with `send`.
- **Space**: a verified space.
- **Changes nothing**: no, it acts.
- **Safe to replay**: use an `idempotency_key` where the tool offers one.

## Parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `email` | string | yes | Unique address: creates the record if it does not exist. |
| `name` | string | no | Name. Absent: kept; empty: erased. |
| `fields` | object | no | Replaces the global fields if given; fields specific to audiences stay unchanged. |
| `labels` | list of string | no | Replaces the global tags if given. |

## Call it

```sh
curl -s https://api.subagent.fr/v1/save_contact \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer sak_…' \
  -d '{"email": "…"}'
```

The full page in French, with the response fields and every refusal the tool can return: [/mail/docs/reference/save_contact](https://escouade.io/mail/docs/reference/save_contact).
