---
title: "Update a visitor"
method: PUT
path: "/visitors"
tags: ["Visitors"]
---

# Update a visitor

`PUT /visitors`

Sending a PUT request to `/visitors` will result in an update of an existing Visitor.

**Option 1.** You can update a visitor by passing in the `user_id` of the visitor in the Request body.

**Option 2.** You can update a visitor by passing in the `id` of the visitor in the Request body.

## Headers

- `Intercom-Version` '1.0' | '1.1' | '1.2' | '1.3' | '1.4' | '2.0' | '2.1' | '2.2' | '2.3' | '2.4' | '2.5' | '2.6' | '2.7' | '2.8' | '2.9' | '2.10' | '2.11' | '2.12' | '2.13' | '2.14' — Intercom API version.</br>By default, it's equal to the version set in the app package.

## Request body

- union — Update an existing visitor.
  - object
    - `id` string, required — A unique identified for the visitor which is given by Intercom.
    - `user_id` string — A unique identified for the visitor which is given by you.
    - `name` string — The visitor's name.
    - `custom_attributes` object — The custom attributes which are set for the visitor.
  - object
    - `id` string — A unique identified for the visitor which is given by Intercom.
    - `user_id` string, required — A unique identified for the visitor which is given by you.
    - `name` string — The visitor's name.
    - `custom_attributes` object — The custom attributes which are set for the visitor.

## Response `200`

successful

- Visitor, nullable — Visitors are useful for representing anonymous people that have not yet been identified. They usually represent website visitors. Visitors are not visible in Intercom platform. The Visitors resource provides methods to fetch, update, convert and delete.
  - `type` string — Value is 'visitor'
  - `id` string — The Intercom defined id representing the Visitor.
  - `user_id` string — Automatically generated identifier for the Visitor.
  - `anonymous` boolean — Identifies if this visitor is anonymous.
  - `email` string, email — The email of the visitor.
  - `phone` string, nullable — The phone number of the visitor.
  - `name` string, nullable — The name of the visitor.
  - `pseudonym` string, nullable — The pseudonym of the visitor.
  - `avatar` object
    - `type` string
    - `image_url` string, uri, nullable — This object represents the avatar associated with the visitor.
  - `app_id` string — The id of the app the visitor is associated with.
  - `companies` object
    - `type` 'company.list' — The type of the object
    - `companies` Company[]
      - `type` 'company' — Value is `company`
      - `id` string — The Intercom defined id representing the company.
      - `name` string — The name of the company.
      - `app_id` string — The Intercom defined code of the workspace the company is associated to.
      - `plan` object
        - `type` string — Value is always "plan"
        - `id` string — The id of the plan
        - `name` string — The name of the plan
      - `company_id` string — The company id you have defined for the company.
      - `remote_created_at` integer — The time the company was created by you.
      - `created_at` integer — The time the company was added in Intercom.
      - `updated_at` integer — The last time the company was updated.
      - `last_request_at` integer — The time the company last recorded making a request.
      - `size` integer — The number of employees in the company.
      - `website` string — The URL for the company website.
      - `industry` string — The industry that the company operates in.
      - `monthly_spend` integer — How much revenue the company generates for your business.
      - `session_count` integer — How many sessions the company has recorded.
      - `user_count` integer — The number of users in the company.
      - `custom_attributes` object — The custom attributes you have set on the company.
      - `tags` object — The list of tags associated with the company
        - `type` 'tag.list' — The type of the object
        - `tags` TagBasic[]
          - `type` string — value is "tag"
          - `id` string — The id of the tag
          - `name` string — The name of the tag
      - `segments` object — The list of segments associated with the company
        - `type` 'segment.list' — The type of the object
        - `segments` Segment[]
          - `type` 'segment' — The type of object.
          - `id` string — The unique identifier representing the segment.
          - `name` string — The name of the segment.
          - `created_at` integer — The time the segment was created.
          - `updated_at` integer — The time the segment was updated.
          - `person_type` 'contact' | 'user' — Type of the contact: contact (lead) or user.
          - `count` integer, nullable — The number of items in the user segment. It's returned when `include_count=true` is included in the request.
  - `location_data` object
    - `type` string
    - `city_name` string — The city name of the visitor.
    - `continent_code` string — The continent code of the visitor.
    - `country_code` string — The country code of the visitor.
    - `country_name` string — The country name of the visitor.
    - `postal_code` string — The postal code of the visitor.
    - `region_name` string — The region name of the visitor.
    - `timezone` string — The timezone of the visitor.
  - `las_request_at` integer — The time the Lead last recorded making a request.
  - `created_at` integer — The time the Visitor was added to Intercom.
  - `remote_created_at` integer — The time the Visitor was added to Intercom.
  - `signed_up_at` integer — The time the Visitor signed up for your product.
  - `updated_at` integer — The last time the Visitor was updated.
  - `session_count` integer — The number of sessions the Visitor has had.
  - `social_profiles` object
    - `type` 'social_profile.list' — The type of the object
    - `social_profiles` string[]
  - `owner_id` string, nullable — The id of the admin that owns the Visitor.
  - `unsubscribed_from_emails` boolean — Whether the Visitor is unsubscribed from emails.
  - `marked_email_as_spam` boolean — Identifies if this visitor has marked an email as spam.
  - `has_hard_bounced` boolean — Identifies if this visitor has had a hard bounce.
  - `tags` object
    - `type` 'tag.list' — The type of the object
    - `tags` object[]
      - `type` 'tag' — The type of the object
      - `id` string — The id of the tag.
      - `name` string — The name of the tag.
  - `segments` object
    - `type` 'segment.list' — The type of the object
    - `segments` string[]
  - `custom_attributes` object — The custom attributes you have set on the Visitor.
  - `referrer` string, nullable — The referer of the visitor.
  - `utm_campaign` string, nullable — The utm_campaign of the visitor.
  - `utm_content` string, nullable — The utm_content of the visitor.
  - `utm_medium` string, nullable — The utm_medium of the visitor.
  - `utm_source` string, nullable — The utm_source of the visitor.
  - `utm_term` string, nullable — The utm_term of the visitor.
  - `do_not_track` boolean, nullable — Identifies if this visitor has do not track enabled.

## Other responses

- `401` — Unauthorized
- `404` — visitor Not Found

---

[API](https://skmtc.net/intercom/apis/intercom-api.md) · [All operations](https://skmtc.net/intercom/apis/intercom-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/intercom/intercom-api/revisions/9517e80f2642/schema)
