> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syntr.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Upsert Contact

> Create or update profile with custom metadata and list associations.

### Request Body

<ParamField body="email" type="string" required>
  Primary key (email)
</ParamField>

<ParamField body="name" type="string">
  Full name
</ParamField>

<ParamField body="list_id" type="string">
  Optional: Target list ID to associate the contact with.
</ParamField>

<ParamField body="phone" type="string">
  Optional: Phone number
</ParamField>

<ParamField body="company" type="string">
  Optional: Company name
</ParamField>

<ParamField body="job_title" type="string">
  Optional: Job title
</ParamField>

<ParamField body="linkedin_url" type="string">
  Optional: LinkedIn profile URL
</ParamField>

<ParamField body="tags" type="array">
  Optional: List of tags to apply.
</ParamField>

<ParamField body="is_subscribed" type="boolean">
  Optional: Subscription status (default: true)
</ParamField>

<ParamField body="additional_info" type="object">
  Key-value pair metadata (Merge Tags)
</ParamField>

<RequestExample>
  ```json Request theme={null}
  {
    "email": "sarah@domain.com",
    "name": "Sarah W",
    "phone": "+1 987 654 3210",
    "company": "Tech Innovations",
    "job_title": "Product Manager",
    "linkedin_url": "https://linkedin.com/in/sarahw",
    "list_id": "list-1234",
    "is_subscribed": true,
    "additional_info": {
      "industry": "SaaS",
      "tier": "Premium"
    }
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "id": "88de-12bc",
      "email": "sarah@domain.com"
    },
    "message": "Subscriber created and synchronized successfully."
  }
  ```
</ResponseExample>
