openapi: 3.0.1 info: title: Intercom API version: '2.10' description: The intercom API reference. contact: name: Intercom Developer Hub url: https://developers.intercom.com license: name: MIT url: https://spdx.org/licenses/MIT paths: /me: get: summary: Identify an admin parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Admins operationId: identifyAdmin description: > You can view the currently authorised admin along with the embedded app object (a "workspace" in legacy terminology). > 🚧 Single Sign On > > If you are building a custom "Log in with Intercom" flow for your site, and you call the `/me` endpoint to identify the logged-in user, you should not accept any sign-ins from users with unverified email addresses as it poses a potential impersonation security risk. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: admin id: '991267785' email: admin1@email.com name: Ciaran1 Lee email_verified: true app: type: app id_code: this_is_an_id1_that_should_be_at_least_40 name: MyApp 1 created_at: 1717021702 secure: false identity_verification: false timezone: America/Los_Angeles region: US avatar: type: avatar image_url: >- https://static.intercomassets.com/assets/default-avatars/admins/128.png has_inbox_seat: true schema: $ref: '#/components/schemas/admin_with_app' /admins/{id}/away: put: summary: Set an admin to away parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier of a given admin schema: type: integer tags: - Admins operationId: setAwayAdmin description: You can set an Admin as away for the Inbox. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: admin id: '991267786' name: Ciaran2 Lee email: admin2@email.com away_mode_enabled: true away_mode_reassign: true has_inbox_seat: true team_ids: [] schema: $ref: '#/components/schemas/admin' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 806c726f-9799-4ef1-bd2e-8961b0aec4fc errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Admin not found content: application/json: examples: Admin not found: value: type: error.list request_id: 69bfb4d8-e672-43c4-8b94-87ebd9a9649f errors: - code: admin_not_found message: Admin for admin_id not found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: type: object required: - away_mode_enabled - away_mode_reassign properties: away_mode_enabled: type: boolean description: Set to "true" to change the status of the admin to away. example: true default: true away_mode_reassign: type: boolean description: >- Set to "true" to assign any new conversation replies to your default inbox. example: false default: false examples: successful_response: summary: Successful response value: away_mode_enabled: true away_mode_reassign: true admin_not_found: summary: Admin not found value: away_mode_enabled: true away_mode_reassign: true unauthorized: summary: Unauthorized value: away_mode_enabled: true away_mode_reassign: true /admins/activity_logs: get: summary: List all activity logs parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: created_at_after in: query required: true description: >- The start date that you request data for. It must be formatted as a UNIX timestamp. example: '1677253093' schema: type: string - name: created_at_before in: query required: false description: >- The end date that you request data for. It must be formatted as a UNIX timestamp. example: '1677861493' schema: type: string tags: - Admins operationId: listActivityLogs description: You can get a log of activities by all admins in an app. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: activity_log.list pages: type: pages next: null page: 1 per_page: 20 total_pages: 1 activity_logs: - id: dd399bfc-f05b-4a8d-be79-9fc76d4239b7 performed_by: type: admin id: '991267790' email: admin5@email.com ip: 127.0.0.1 metadata: message: id: 123 title: Initial message title before: Initial message title after: Eventual message title created_at: 1717021708 activity_type: message_state_change activity_description: >- Ciaran5 Lee changed your Initial message title message from Initial message title to Eventual message title. - id: 9753cc49-db8c-47f3-83e1-5802b87293a9 performed_by: type: admin id: '991267790' email: admin5@email.com ip: 127.0.0.1 metadata: before: before after: after created_at: 1717021708 activity_type: app_name_change activity_description: >- Ciaran5 Lee changed your app name from before to after. schema: $ref: '#/components/schemas/activity_log_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: d0e9c95d-482c-40b2-b061-dc34a7ea134b errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /admins: get: summary: List all admins parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Admins operationId: listAdmins description: You can fetch a list of admins for a given workspace. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: admin.list admins: - type: admin email: admin7@email.com id: '991267792' name: Ciaran7 Lee away_mode_enabled: false away_mode_reassign: false has_inbox_seat: true team_ids: [] schema: $ref: '#/components/schemas/admin_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: b334e891-4036-4408-960e-57cadddae3ea errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /admins/{id}: get: summary: Retrieve an admin parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier of a given admin example: 123 schema: type: integer tags: - Admins operationId: retrieveAdmin description: You can retrieve the details of a single admin. responses: '200': description: Admin found content: application/json: examples: Admin found: value: type: admin id: '991267794' name: Ciaran9 Lee email: admin9@email.com away_mode_enabled: false away_mode_reassign: false has_inbox_seat: true team_ids: [] schema: $ref: '#/components/schemas/admin' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 93a53253-1a7c-40a9-b150-3f56a5b04a84 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Admin not found content: application/json: examples: Admin not found: value: type: error.list request_id: 3269e017-1861-4fdf-8192-c57bd8a46ff8 errors: - code: admin_not_found message: Admin not found schema: $ref: '#/components/schemas/error' /articles: get: summary: List all articles parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Articles operationId: listArticles description: > You can fetch a list of all articles by making a GET request to `https://api.intercom.io/articles`. > 📘 How are the articles sorted and ordered? > > Articles will be returned in descending order on the `updated_at` attribute. This means if you need to iterate through results then we'll show the most recently updated articles first. responses: '200': description: successful content: application/json: examples: successful: value: type: list pages: type: pages page: 1 per_page: 25 total_pages: 1 total_count: 1 data: - id: '52' type: article workspace_id: this_is_an_id33_that_should_be_at_least_4 parent_id: 217 parent_type: collection parent_ids: [] title: This is the article title description: '' body: '' author_id: 991267797 state: published created_at: 1717021715 updated_at: 1717021715 url: >- http://help-center.test/myapp-33/en/articles/52-this-is-the-article-title schema: $ref: '#/components/schemas/article_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: e49be3f5-4e53-4b41-bfc2-bf8fbb21bab3 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' post: summary: Create an article parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Articles operationId: createArticle description: >- You can create a new article by making a POST request to `https://api.intercom.io/articles`. responses: '200': description: article created content: application/json: examples: article created: value: id: '55' type: article workspace_id: this_is_an_id37_that_should_be_at_least_4 parent_id: 219 parent_type: collection parent_ids: [] statistics: type: article_statistics views: 0 conversations: 0 reactions: 0 happy_reaction_percentage: 0 neutral_reaction_percentage: 0 sad_reaction_percentage: 0 title: Thanks for everything description: Description of the Article body:
Body of the Article
author_id: 991267802 state: published created_at: 1717021717 updated_at: 1717021717 url: >- http://help-center.test/myapp-37/en/articles/55-thanks-for-everything schema: $ref: '#/components/schemas/article' '400': description: Bad Request content: application/json: examples: Bad Request: value: type: error.list request_id: 6e682ee8-1d84-4f76-838a-cf21050be4a8 errors: - code: parameter_not_found message: >- author_id must be in the main body or default locale translated_content object schema: $ref: '#/components/schemas/error' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: af0bb353-dd9c-4d64-97e0-f5f4e380488f errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_article_request' examples: article_created: summary: article created value: title: Thanks for everything description: Description of the Article body: Body of the Article author_id: 991267802 state: published parent_id: 219 parent_type: collection translated_content: fr: title: Merci pour tout description: Description de l'article body: Corps de l'article author_id: 991267802 state: published bad_request: summary: Bad Request value: title: Thanks for everything description: Description of the Article body: Body of the Article state: published /articles/{id}: get: summary: Retrieve an article parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier for the article which is given by Intercom. example: 123 schema: type: integer tags: - Articles operationId: retrieveArticle description: >- You can fetch the details of a single article by making a GET request to `https://api.intercom.io/articles/New gifts in store for the jolly season
author_id: 991267813 state: published created_at: 1717021722 updated_at: 1717021722 url: >- http://help-center.test/myapp-49/en/articles/61-christmas-is-here schema: $ref: '#/components/schemas/article' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: b1d82a33-3879-4c23-9303-cd31825d4a1e errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Article Not Found content: application/json: examples: Article Not Found: value: type: error.list request_id: 521cb396-dae1-4a03-a9d8-f1e0050f7df7 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/update_article_request' examples: successful: summary: successful value: title: Christmas is here! body:New gifts in store for the jolly season
article_not_found: summary: Article Not Found value: title: Christmas is here! body:New gifts in store for the jolly season
delete: summary: Delete an article parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier for the article which is given by Intercom. example: 123 schema: type: integer tags: - Articles operationId: deleteArticle description: >- You can delete a single article by making a DELETE request to `https://api.intercom.io/articles/This is a note.
- type: note id: '41' created_at: 1716330571 contact: type: contact id: 6657ac4a6abd0166b52ae225 author: type: admin id: '991267886' name: Ciaran101 Lee email: admin101@email.com away_mode_enabled: false away_mode_reassign: false body:This is a note.
- type: note id: '40' created_at: 1716330570 contact: type: contact id: 6657ac4a6abd0166b52ae225 author: type: admin id: '991267886' name: Ciaran101 Lee email: admin101@email.com away_mode_enabled: false away_mode_reassign: false body:This is a note.
total_count: 3 pages: type: pages next: null page: 1 per_page: 50 total_pages: 1 schema: $ref: '#/components/schemas/note_list' '404': description: Contact not found content: application/json: examples: Contact not found: value: type: error.list request_id: 3c93eea5-4f9e-43bc-a092-1dd8937566c3 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' post: summary: Create a note parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier of a given contact. example: '123' schema: type: integer tags: - Notes - Contacts operationId: createNote description: You can add a note to a single contact. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: note id: '47' created_at: 1717021772 contact: type: contact id: 6657ac4c6abd0166b52ae227 author: type: admin id: '991267888' name: Ciaran103 Lee email: admin103@email.com away_mode_enabled: false away_mode_reassign: false body:Hello
schema: $ref: '#/components/schemas/note' '404': description: Contact not found content: application/json: examples: Admin not found: value: type: error.list request_id: 838a782b-2785-4ffe-bb1a-3033015a754f errors: - code: not_found message: Resource Not Found Contact not found: value: type: error.list request_id: 454ec537-de9e-4a38-afe1-088c7adca284 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: type: object required: - body properties: body: type: string description: The text of the note. example: New note contact_id: type: string description: The unique identifier of a given contact. example: '123' admin_id: type: string description: The unique identifier of a given admin. example: '123' examples: successful_response: summary: Successful response value: contact_id: 6657ac4c6abd0166b52ae227 admin_id: 991267888 body: Hello admin_not_found: summary: Admin not found value: contact_id: 6657ac4c6abd0166b52ae228 admin_id: 123 body: Hello contact_not_found: summary: Contact not found value: contact_id: 123 admin_id: 991267890 body: Hello /contacts/{contact_id}/segments: get: summary: List attached segments for contact parameters: - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Contacts - Segments operationId: listSegmentsForAContact description: You can fetch a list of segments that are associated to a contact. responses: '200': description: successful content: application/json: examples: successful: value: type: list data: - type: segment id: 6657ac4e6abd0166b52ae22a name: segment created_at: 1717021774 updated_at: 1717021774 person_type: user schema: $ref: '#/components/schemas/contact_segments' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: dd419491-a614-4550-9f25-1fba5a3997fa errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Contact not found content: application/json: examples: Contact not found: value: type: error.list request_id: 2efc9471-95f0-4bc2-987f-78bb324b21e2 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' /contacts/{contact_id}/subscriptions: get: summary: List subscriptions for a contact parameters: - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Contacts - Subscription Types operationId: listSubscriptionsForAContact description: > You can fetch a list of subscription types that are attached to a contact. These can be subscriptions that a user has 'opted-in' to or has 'opted-out' from, depending on the subscription type. This will return a list of Subscription Type objects that the contact is associated with. The data property will show a combined list of: 1.Opt-out subscription types that the user has opted-out from. 2.Opt-in subscription types that the user has opted-in to receiving. responses: '200': description: Successful content: application/json: examples: Successful: value: type: list data: - type: subscription id: '139' state: live consent_type: opt_out default_translation: name: Newsletters description: Lorem ipsum dolor sit amet locale: en translations: - name: Newsletters description: Lorem ipsum dolor sit amet locale: en content_types: - email - type: subscription id: '141' state: live consent_type: opt_in default_translation: name: Newsletters description: Lorem ipsum dolor sit amet locale: en translations: - name: Newsletters description: Lorem ipsum dolor sit amet locale: en content_types: - sms_message schema: $ref: '#/components/schemas/subscription_type_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: ba48752e-b86c-4407-ad19-b049db36d6b1 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Contact not found content: application/json: examples: Contact not found: value: type: error.list request_id: b05919bf-33f5-437d-94fd-398371132870 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' post: summary: Add subscription to a contact tags: - Subscription Types - Contacts parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string operationId: attachSubscriptionTypeToContact description: > You can add a specific subscription to a contact. In Intercom, we have two different subscription types based on user consent - opt-out and opt-in: 1.Attaching a contact to an opt-out subscription type will opt that user out from receiving messages related to that subscription type. 2.Attaching a contact to an opt-in subscription type will opt that user in to receiving messages related to that subscription type. This will return a subscription type model for the subscription type that was added to the contact. responses: '200': description: Successful content: application/json: examples: Successful: value: type: subscription id: '154' state: live consent_type: opt_in default_translation: name: Newsletters description: Lorem ipsum dolor sit amet locale: en translations: - name: Newsletters description: Lorem ipsum dolor sit amet locale: en content_types: - sms_message schema: $ref: '#/components/schemas/subscription_type' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 80ba218c-f639-447b-ae4f-5ad1bf17fbc8 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Resource not found content: application/json: examples: Contact not found: value: type: error.list request_id: 2e951deb-d41f-4644-b723-c783b91eafba errors: - code: not_found message: User Not Found Resource not found: value: type: error.list request_id: f9ac58ce-2f5c-43e4-88b2-f03acae3f47e errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: type: object required: - id - consent_type properties: id: type: string description: >- The unique identifier for the subscription which is given by Intercom example: '37846' consent_type: type: string description: The consent_type of a subscription, opt_out or opt_in. example: opt_in examples: successful: summary: Successful value: id: 154 consent_type: opt_in contact_not_found: summary: Contact not found value: id: 158 consent_type: opt_in resource_not_found: summary: Resource not found value: id: invalid_id consent_type: opt_in /contacts/{contact_id}/subscriptions/{id}: delete: summary: Remove subscription from a contact tags: - Subscription Types - Contacts parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string - name: id in: path description: >- The unique identifier for the subscription type which is given by Intercom example: '37846' required: true schema: type: string operationId: detachSubscriptionTypeToContact description: >- You can remove a specific subscription from a contact. This will return a subscription type model for the subscription type that was removed from the contact. responses: '200': description: Successful content: application/json: examples: Successful: value: type: subscription id: '170' state: live consent_type: opt_in default_translation: name: Newsletters description: Lorem ipsum dolor sit amet locale: en translations: - name: Newsletters description: Lorem ipsum dolor sit amet locale: en content_types: - sms_message schema: $ref: '#/components/schemas/subscription_type' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 21509d7a-c3f1-4b34-834a-4463940e0b85 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Resource not found content: application/json: examples: Contact not found: value: type: error.list request_id: c7e13d32-bc60-4e36-96c7-68099df42444 errors: - code: not_found message: User Not Found Resource not found: value: type: error.list request_id: 5806d43f-3f68-47b8-921e-f829d19d0de0 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /contacts/{contact_id}/tags: get: summary: List tags attached to a contact tags: - Contacts - Tags parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string operationId: listTagsForAContact description: >- You can fetch a list of all tags that are attached to a specific contact. responses: '200': description: successful content: application/json: examples: successful: value: type: list data: - type: tag id: '124' name: Manual tag schema: $ref: '#/components/schemas/tag_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 2fb24928-89d0-45c5-ac7d-f1db1a2630ba errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Contact not found content: application/json: examples: Contact not found: value: type: error.list request_id: 4cdf5f9f-8af1-4e51-8534-f91e4fbcf4c8 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' post: summary: Add tag to a contact tags: - Tags - Contacts parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string operationId: attachTagToContact description: >- You can tag a specific contact. This will return a tag object for the tag that was added to the contact. responses: '200': description: successful content: application/json: examples: successful: value: type: tag id: '125' name: Manual tag schema: $ref: '#/components/schemas/tag' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 442185c3-2113-4fbe-9ec8-57cd39ce5b6c errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Tag not found content: application/json: examples: Contact not found: value: type: error.list request_id: 9cc56a6c-6388-4978-9627-9e02b58f5657 errors: - code: not_found message: User Not Found Tag not found: value: type: error.list request_id: abf94eb4-308b-42f3-9dec-dbe7287794fd errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: type: object required: - id properties: id: type: string description: The unique identifier for the tag which is given by Intercom example: '7522907' examples: successful: summary: successful value: id: 125 contact_not_found: summary: Contact not found value: id: 126 tag_not_found: summary: Tag not found value: id: '123' /contacts/{contact_id}/tags/{id}: delete: summary: Remove tag from a contact tags: - Tags - Contacts parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: contact_id in: path description: The unique identifier for the contact which is given by Intercom example: 63a07ddf05a32042dffac965 required: true schema: type: string - name: id in: path description: The unique identifier for the tag which is given by Intercom example: '7522907' required: true schema: type: string operationId: detachTagFromContact description: >- You can remove tag from a specific contact. This will return a tag object for the tag that was removed from the contact. responses: '200': description: successful content: application/json: examples: successful: value: type: tag id: '128' name: Manual tag schema: $ref: '#/components/schemas/tag' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: ea584753-6c24-4cc7-b919-e82fb57939d8 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Tag not found content: application/json: examples: Contact not found: value: type: error.list request_id: 85166f2c-af22-47b5-98a1-73e5067a4b91 errors: - code: not_found message: User Not Found Tag not found: value: type: error.list request_id: dce951fc-c2bc-4594-abb2-42863d35a6d2 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /contacts/{id}: put: summary: Update a contact parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path description: id example: 63a07ddf05a32042dffac965 required: true schema: type: string tags: - Contacts operationId: UpdateContact description: You can update an existing contact (ie. user or lead). responses: '200': description: successful content: application/json: examples: successful: value: type: contact id: 6657ac5e6abd0166b52ae241 workspace_id: this_is_an_id248_that_should_be_at_least_ external_id: '70' role: user email: joebloggs@intercom.io phone: null name: joe bloggs avatar: null owner_id: null social_profiles: type: list data: [] has_hard_bounced: false marked_email_as_spam: false unsubscribed_from_emails: false created_at: 1717021790 updated_at: 1717021790 signed_up_at: 1717021790 last_seen_at: null last_replied_at: null last_contacted_at: null last_email_opened_at: null last_email_clicked_at: null language_override: null browser: null browser_version: null browser_language: null os: null location: type: location country: null region: null city: null country_code: null continent_code: null android_app_name: null android_app_version: null android_device: null android_os_version: null android_sdk_version: null android_last_seen_at: null ios_app_name: null ios_app_version: null ios_device: null ios_os_version: null ios_sdk_version: null ios_last_seen_at: null custom_attributes: {} tags: type: list data: [] url: /contacts/6657ac5e6abd0166b52ae241/tags total_count: 0 has_more: false notes: type: list data: [] url: /contacts/6657ac5e6abd0166b52ae241/notes total_count: 0 has_more: false companies: type: list data: [] url: /contacts/6657ac5e6abd0166b52ae241/companies total_count: 0 has_more: false opted_out_subscription_types: type: list data: [] url: /contacts/6657ac5e6abd0166b52ae241/subscriptions total_count: 0 has_more: false opted_in_subscription_types: type: list data: [] url: /contacts/6657ac5e6abd0166b52ae241/subscriptions total_count: 0 has_more: false utm_campaign: null utm_content: null utm_medium: null utm_source: null utm_term: null referrer: null schema: $ref: '#/components/schemas/contact' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 0b98488b-8d17-41c2-a50a-4d10a6dcf092 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/update_contact_request' examples: successful: summary: successful value: email: joebloggs@intercom.io name: joe bloggs get: summary: Get a contact parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path description: id example: 63a07ddf05a32042dffac965 required: true schema: type: string tags: - Contacts operationId: ShowContact description: You can fetch the details of a single contact. responses: '200': description: successful content: application/json: examples: successful: value: type: contact id: 6657ac5f6abd0166b52ae242 workspace_id: this_is_an_id252_that_should_be_at_least_ external_id: '70' role: user email: joe@bloggs.com phone: null name: Joe Bloggs avatar: null owner_id: null social_profiles: type: list data: [] has_hard_bounced: false marked_email_as_spam: false unsubscribed_from_emails: false created_at: 1717021791 updated_at: 1717021791 signed_up_at: 1717021791 last_seen_at: null last_replied_at: null last_contacted_at: null last_email_opened_at: null last_email_clicked_at: null language_override: null browser: null browser_version: null browser_language: null os: null location: type: location country: null region: null city: null country_code: null continent_code: null android_app_name: null android_app_version: null android_device: null android_os_version: null android_sdk_version: null android_last_seen_at: null ios_app_name: null ios_app_version: null ios_device: null ios_os_version: null ios_sdk_version: null ios_last_seen_at: null custom_attributes: {} tags: type: list data: [] url: /contacts/6657ac5f6abd0166b52ae242/tags total_count: 0 has_more: false notes: type: list data: [] url: /contacts/6657ac5f6abd0166b52ae242/notes total_count: 0 has_more: false companies: type: list data: [] url: /contacts/6657ac5f6abd0166b52ae242/companies total_count: 0 has_more: false opted_out_subscription_types: type: list data: [] url: /contacts/6657ac5f6abd0166b52ae242/subscriptions total_count: 0 has_more: false opted_in_subscription_types: type: list data: [] url: /contacts/6657ac5f6abd0166b52ae242/subscriptions total_count: 0 has_more: false utm_campaign: null utm_content: null utm_medium: null utm_source: null utm_term: null referrer: null schema: $ref: '#/components/schemas/contact' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 17befbf3-fd98-44f3-a177-5db6283dbb3e errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' delete: summary: Delete a contact parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path description: id required: true schema: type: string tags: - Contacts operationId: DeleteContact description: You can delete a single contact. responses: '200': description: successful content: application/json: examples: successful: value: id: 6657ac616abd0166b52ae243 external_id: '70' type: contact deleted: true schema: $ref: '#/components/schemas/contact_deleted' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 2bde776d-9f01-45c6-8d47-ee7c4b0ee897 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /contacts/merge: post: summary: Merge a lead and a user parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Contacts operationId: MergeContact description: >- You can merge a contact with a `role` of `lead` into a contact with a `role` of `user`. responses: '200': description: successful content: application/json: examples: successful: value: type: contact id: 6657ac626abd0166b52ae245 workspace_id: this_is_an_id260_that_should_be_at_least_ external_id: '70' role: user email: joe@bloggs.com phone: null name: Joe Bloggs avatar: null owner_id: null social_profiles: type: list data: [] has_hard_bounced: false marked_email_as_spam: false unsubscribed_from_emails: false created_at: 1717021794 updated_at: 1717021794 signed_up_at: 1717021794 last_seen_at: null last_replied_at: null last_contacted_at: null last_email_opened_at: null last_email_clicked_at: null language_override: null browser: null browser_version: null browser_language: null os: null location: type: location country: null region: null city: null country_code: null continent_code: null android_app_name: null android_app_version: null android_device: null android_os_version: null android_sdk_version: null android_last_seen_at: null ios_app_name: null ios_app_version: null ios_device: null ios_os_version: null ios_sdk_version: null ios_last_seen_at: null custom_attributes: {} tags: type: list data: [] url: /contacts/6657ac626abd0166b52ae245/tags total_count: 0 has_more: false notes: type: list data: [] url: /contacts/6657ac626abd0166b52ae245/notes total_count: 0 has_more: false companies: type: list data: [] url: /contacts/6657ac626abd0166b52ae245/companies total_count: 0 has_more: false opted_out_subscription_types: type: list data: [] url: /contacts/6657ac626abd0166b52ae245/subscriptions total_count: 0 has_more: false opted_in_subscription_types: type: list data: [] url: /contacts/6657ac626abd0166b52ae245/subscriptions total_count: 0 has_more: false utm_campaign: null utm_content: null utm_medium: null utm_source: null utm_term: null referrer: null schema: $ref: '#/components/schemas/contact' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 1a8ab34b-00d1-43db-9581-2a046fbb18e0 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/merge_contacts_request' examples: successful: summary: successful value: from: 6657ac626abd0166b52ae244 into: 6657ac626abd0166b52ae245 /contacts/search: post: summary: Search contacts parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Contacts operationId: SearchContacts description: > You can search for multiple contacts by the value of their attributes in order to fetch exactly who you want. To search for contacts, you need to send a `POST` request to `https://api.intercom.io/contacts/search`. This will accept a query object in the body which will define your filters in order to search for contacts. {% admonition type="warning" name="Optimizing search queries" %} Search queries can be complex, so optimizing them can help the performance of your search. Use the `AND` and `OR` operators to combine multiple filters to get the exact results you need and utilize pagination to limit the number of results returned. The default is `50` results per page. See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#example-search-conversations-request) for more details on how to use the `starting_after` param. {% /admonition %} ### Contact Creation Delay If a contact has recently been created, there is a possibility that it will not yet be available when searching. This means that it may not appear in the response. This delay can take a few minutes. If you need to be instantly notified it is recommended to use webhooks and iterate to see if they match your search filters. ### Nesting & Limitations You can nest these filters in order to get even more granular insights that pinpoint exactly what you need. Example: (1 OR 2) AND (3 OR 4). There are some limitations to the amount of multiple's there can be: * There's a limit of max 2 nested filters * There's a limit of max 15 filters for each AND or OR group ### Searching for Timestamp Fields All timestamp fields (created_at, updated_at etc.) are indexed as Dates for Contact Search queries; Datetime queries are not currently supported. This means you can only query for timestamp fields by day - not hour, minute or second. For example, if you search for all Contacts with a created_at value greater (>) than 1577869200 (the UNIX timestamp for January 1st, 2020 9:00 AM), that will be interpreted as 1577836800 (January 1st, 2020 12:00 AM). The search results will then include Contacts created from January 2nd, 2020 12:00 AM onwards. If you'd like to get contacts created on January 1st, 2020 you should search with a created_at value equal (=) to 1577836800 (January 1st, 2020 12:00 AM). This behaviour applies only to timestamps used in search queries. The search results will still contain the full UNIX timestamp and be sorted accordingly. ### Accepted Fields Most key listed as part of the Contacts Model are searchable, whether writeable or not. The value you search for has to match the accepted type, otherwise the query will fail (ie. as `created_at` accepts a date, the `value` cannot be a string such as `"foorbar"`). | Field | Type | | ---------------------------------- | ------------------------------ | | id | String | | role | Stringthis is the message body
author: type: admin id: '991267931' name: Ciaran143 Lee email: admin143@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657ac736abd0166b52ae24e external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false schema: $ref: '#/components/schemas/paginated_response' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 02451a66-ad21-45e9-bf5b-93cea1b55e8a errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: cc6133d6-c40b-4f32-8f5c-fd198df58f59 errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' post: summary: Creates a conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Conversations operationId: createConversation description: >+ You can create a conversation that has been initiated by a contact (ie. user or lead). The conversation can be an in-app message only. {% admonition type="info" name="Sending for visitors" %} You can also send a message from a visitor by specifying their `user_id` or `id` value in the `from` field, along with a `type` field value of `contact`. This visitor will be automatically converted to a contact with a lead role once the conversation is created. {% /admonition %} This will return the Message model that has been created. responses: '200': description: conversation created content: application/json: examples: conversation created: value: type: user_message id: '403918318' created_at: 1717021835 body: Hello there message_type: inapp conversation_id: '483' schema: $ref: '#/components/schemas/message' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 9458f8ca-b9a3-40a3-8c71-44b43351f1ce errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: 46c93916-2512-4f01-bb04-1334cc3082eb errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Contact Not Found content: application/json: examples: Contact Not Found: value: type: error.list request_id: 2c40adb9-09e8-4004-996f-6dc998c577ad errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_conversation_request' examples: conversation_created: summary: conversation created value: from: type: user id: 6657ac8a6abd0166b52ae266 body: Hello there contact_not_found: summary: Contact Not Found value: from: type: user id: 123_doesnt_exist body: Hello there /conversations/{id}: get: summary: Retrieve a conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The id of the conversation to target example: 123 schema: type: integer - name: display_as in: query required: false description: Set to plaintext to retrieve conversation messages in plain text. example: plaintext schema: type: string tags: - Conversations operationId: retrieveConversation description: > You can fetch the details of a single conversation. This will return a single Conversation model with all its conversation parts. {% admonition type="warning" name="Hard limit of 500 parts" %} The maximum number of conversation parts that can be returned via the API is 500. If you have more than that we will return the 500 most recent conversation parts. {% /admonition %} For AI agent conversation metadata, please note that you need to have the agent enabled in your workspace, which is a [paid feature](https://www.intercom.com/help/en/articles/8205718-fin-resolutions#h_97f8c2e671). responses: '200': description: conversation found content: application/json: examples: conversation found: value: type: conversation id: '487' created_at: 1717021841 updated_at: 1717021841 waiting_since: null snoozed_until: null source: type: conversation id: '403918322' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991267948' name: Ciaran153 Lee email: admin153@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657ac916abd0166b52ae26a external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: [] total_count: 0 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 482e40b0-31e6-44eb-a825-2c330f82bc48 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: b488ca8b-a338-4a10-908e-3351b0b12594 errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: 7074a63f-83cc-4fba-9089-01df1b771771 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' put: summary: Update a conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The id of the conversation to target example: 123 schema: type: integer - name: display_as in: query required: false description: Set to plaintext to retrieve conversation messages in plain text. example: plaintext schema: type: string tags: - Conversations operationId: updateConversation description: >+ You can update an existing conversation. {% admonition type="info" name="Replying and other actions" %} If you want to reply to a coveration or take an action such as assign, unassign, open, close or snooze, take a look at the reply and manage endpoints. {% /admonition %} responses: '200': description: conversation found content: application/json: examples: conversation found: value: type: conversation id: '491' created_at: 1717021846 updated_at: 1717021848 waiting_since: null snoozed_until: null source: type: conversation id: '403918326' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991267956' name: Ciaran157 Lee email: admin157@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657ac966abd0166b52ae26e external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: true tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: issue_type: Billing priority: High topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '111' part_type: conversation_attribute_updated_by_admin body: null created_at: 1717021848 updated_at: 1717021848 notified_at: 1717021848 assigned_to: null author: id: '991267957' type: bot name: Operator email: >- operator+this_is_an_id321_that_should_be_at_least_@intercom.io attachments: [] external_id: null redacted: false - type: conversation_part id: '112' part_type: conversation_attribute_updated_by_admin body: null created_at: 1717021848 updated_at: 1717021848 notified_at: 1717021848 assigned_to: null author: id: '991267957' type: bot name: Operator email: >- operator+this_is_an_id321_that_should_be_at_least_@intercom.io attachments: [] external_id: null redacted: false total_count: 2 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 1210fbb0-b85c-46d7-b763-dac48247fd70 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: 05b3db04-4a82-47a5-acef-e8dd13d2b42b errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: 1aef8193-56d6-4747-b8fa-d1297b7cf4bc errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/update_conversation_request' examples: conversation_found: summary: conversation found value: read: true custom_attributes: issue_type: Billing priority: High not_found: summary: Not found value: read: true custom_attributes: issue_type: Billing priority: High /conversations/search: post: summary: Search conversations parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Conversations operationId: searchConversations description: > You can search for multiple conversations by the value of their attributes in order to fetch exactly which ones you want. To search for conversations, you need to send a `POST` request to `https://api.intercom.io/conversations/search`. This will accept a query object in the body which will define your filters in order to search for conversations. {% admonition type="warning" name="Optimizing search queries" %} Search queries can be complex, so optimizing them can help the performance of your search. Use the `AND` and `OR` operators to combine multiple filters to get the exact results you need and utilize pagination to limit the number of results returned. The default is `20` results per page and maximum is `150`. See the [pagination section](https://developers.intercom.com/docs/build-an-integration/learn-more/rest-apis/pagination/#example-search-conversations-request) for more details on how to use the `starting_after` param. {% /admonition %} ### Nesting & Limitations You can nest these filters in order to get even more granular insights that pinpoint exactly what you need. Example: (1 OR 2) AND (3 OR 4). There are some limitations to the amount of multiple's there can be: - There's a limit of max 2 nested filters - There's a limit of max 15 filters for each AND or OR group ### Accepted Fields Most keys listed as part of the The conversation model is searchable, whether writeable or not. The value you search for has to match the accepted type, otherwise the query will fail (ie. as `created_at` accepts a date, the `value` cannot be a string such as `"foorbar"`). The `source.body` field is unique as the search will not be performed against the entire value, but instead against every element of the value separately. For example, when searching for a conversation with a `"I need support"` body - the query should contain a `=` operator with the value `"support"` for such conversation to be returned. A query with a `=` operator and a `"need support"` value will not yield a result. | Field | Type | | :---------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- | | id | String | | created_at | Date (UNIX timestamp) | | updated_at | Date (UNIX timestamp) | | source.type | Stringthis is the message body
author: type: admin id: '991267986' name: Ciaran180 Lee email: admin180@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657aca16abd0166b52ae275 external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false schema: $ref: '#/components/schemas/conversation_list' requestBody: content: application/json: schema: $ref: '#/components/schemas/search_request' examples: successful: summary: successful value: query: operator: AND value: - field: created_at operator: '>' value: '1306054154' pagination: per_page: 5 /conversations/{id}/reply: post: summary: Reply to a conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: >- The Intercom provisioned identifier for the conversation or the string "last" to reply to the last part of the conversation example: 123 or "last" schema: type: string tags: - Conversations operationId: replyConversation description: >- You can reply to a conversation with a message from an admin or on behalf of a contact, or with a note for admins. responses: '200': description: User last conversation reply content: application/json: examples: User reply: value: type: conversation id: '507' created_at: 1717021865 updated_at: 1717021866 waiting_since: 1717021866 snoozed_until: null source: type: conversation id: '403918336' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991267989' name: Ciaran182 Lee email: admin182@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657aca96abd0166b52ae27d external_id: '70' first_contact_reply: created_at: 1717021866 type: conversation url: null admin_assignee_id: null team_assignee_id: null open: true state: open read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '114' part_type: open body:Thanks again :)
created_at: 1717021866 updated_at: 1717021866 notified_at: 1717021866 assigned_to: null author: id: 6657aca96abd0166b52ae27d type: user name: Joe Bloggs email: joe@bloggs.com attachments: [] external_id: null redacted: false - type: conversation_part id: '115' part_type: language_detection_details body: null created_at: 1717021866 updated_at: 1717021866 notified_at: 1717021866 assigned_to: null author: id: '991267990' type: bot name: Operator email: >- operator+this_is_an_id335_that_should_be_at_least_@intercom.io attachments: [] external_id: null redacted: false total_count: 2 Admin note reply: value: type: conversation id: '508' created_at: 1717021868 updated_at: 1717021869 waiting_since: null snoozed_until: null source: type: conversation id: '403918337' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991267991' name: Ciaran183 Lee email: admin183@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acab6abd0166b52ae27e external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '116' part_type: note body: |-this is the message body
author: type: admin id: '991267995' name: Ciaran185 Lee email: admin185@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acaf6abd0166b52ae280 external_id: '70' first_contact_reply: created_at: 1717021872 type: conversation url: null admin_assignee_id: null team_assignee_id: null open: true state: open read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '117' part_type: open body:Thanks again :)
created_at: 1717021872 updated_at: 1717021872 notified_at: 1717021872 assigned_to: null author: id: 6657acaf6abd0166b52ae280 type: user name: Joe Bloggs email: joe@bloggs.com attachments: [] external_id: null redacted: false - type: conversation_part id: '118' part_type: language_detection_details body: null created_at: 1717021872 updated_at: 1717021872 notified_at: 1717021872 assigned_to: null author: id: '991267996' type: bot name: Operator email: >- operator+this_is_an_id341_that_should_be_at_least_@intercom.io attachments: [] external_id: null redacted: false total_count: 2 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 1d4e0f23-25c6-4655-83a6-40f48448b164 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: 10862bf3-3667-4204-935e-d9b21329ec54 errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: ba896cc4-e087-4c57-bb6d-d37f6b2bda38 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/reply_conversation_request' examples: user_reply: summary: User reply value: message_type: comment type: user intercom_user_id: 6657aca96abd0166b52ae27d body: Thanks again :) admin_note_reply: summary: Admin note reply value: message_type: note type: admin admin_id: 991267991 body: >-this is the message body
author: type: admin id: '991268003' name: Ciaran189 Lee email: admin189@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acb66abd0166b52ae284 external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '119' part_type: close body:Goodbye :)
created_at: 1717021879 updated_at: 1717021879 notified_at: 1717021879 assigned_to: null author: id: '991268003' type: admin name: Ciaran189 Lee email: admin189@email.com attachments: [] external_id: null redacted: false total_count: 1 Snooze a conversation: value: type: conversation id: '515' created_at: 1717021880 updated_at: 1717021881 waiting_since: null snoozed_until: 1717025481 source: type: conversation id: '403918344' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991268005' name: Ciaran190 Lee email: admin190@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acb86abd0166b52ae285 external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: true state: snoozed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '120' part_type: snoozed body: null created_at: 1717021881 updated_at: 1717021881 notified_at: 1717021881 assigned_to: null author: id: '991268005' type: admin name: Ciaran190 Lee email: admin190@email.com attachments: [] external_id: null redacted: false total_count: 1 Open a conversation: value: type: conversation id: '520' created_at: 1717021879 updated_at: 1717021888 waiting_since: null snoozed_until: null source: type: conversation id: '403918345' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991268007' name: Ciaran191 Lee email: admin191@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acbb6abd0166b52ae28a external_id: '74' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: true state: open read: true tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: '' custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '122' part_type: open body: null created_at: 1717021888 updated_at: 1717021888 notified_at: 1717021888 assigned_to: null author: id: '991268007' type: admin name: Ciaran191 Lee email: admin191@email.com attachments: [] external_id: null redacted: false total_count: 1 Assign a conversation: value: type: conversation id: '525' created_at: 1717021890 updated_at: 1717021890 waiting_since: null snoozed_until: null source: type: conversation id: '403918348' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991268010' name: Ciaran193 Lee email: admin193@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acc16abd0166b52ae28e external_id: '70' first_contact_reply: null admin_assignee_id: 991268010 team_assignee_id: null open: true state: open read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '123' part_type: assign_and_reopen body: null created_at: 1717021890 updated_at: 1717021890 notified_at: 1717021890 assigned_to: type: admin id: '991268010' author: id: '991268010' type: admin name: Ciaran193 Lee email: admin193@email.com attachments: [] external_id: null redacted: false total_count: 1 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: fcbc9a9a-0554-4724-8dce-3b764db7ef6c errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: 15e34d93-733e-4547-8bcc-0f30bb44a4b8 errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: f09d2460-ffb8-4286-ac2a-62431e9cc00e errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/close_conversation_request' - $ref: '#/components/schemas/snooze_conversation_request' - $ref: '#/components/schemas/open_conversation_request' - $ref: '#/components/schemas/assign_conversation_request' examples: close_a_conversation: summary: Close a conversation value: message_type: close type: admin admin_id: 991268003 body: Goodbye :) snooze_a_conversation: summary: Snooze a conversation value: message_type: snoozed admin_id: 991268005 snoozed_until: 1717025481 open_a_conversation: summary: Open a conversation value: message_type: open admin_id: 991268007 assign_a_conversation: summary: Assign a conversation value: message_type: assignment type: admin admin_id: 991268010 assignee_id: 991268010 not_found: summary: Not found value: message_type: close type: admin admin_id: 991268012 body: Goodbye :) /conversations/{id}/run_assignment_rules: post: summary: Run Assignment Rules on a conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The identifier for the conversation as given by Intercom. example: '123' schema: type: string tags: - Conversations operationId: autoAssignConversation description: > You can let a conversation be automatically assigned following assignment rules. {% admonition type="attention" name="When using workflows" %} It is not possible to use this endpoint with Workflows. {% /admonition %} responses: '200': description: Assign a conversation using assignment rules content: application/json: examples: Assign a conversation using assignment rules: value: type: conversation id: '529' created_at: 1717021895 updated_at: 1717021896 waiting_since: null snoozed_until: null source: type: conversation id: '403918352' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991268018' name: Ciaran197 Lee email: admin197@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657acc76abd0166b52ae292 external_id: '70' first_contact_reply: null admin_assignee_id: null team_assignee_id: null open: false state: closed read: false tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '124' part_type: default_assignment body: null created_at: 1717021896 updated_at: 1717021896 notified_at: 1717021896 assigned_to: type: nobody_admin id: null author: id: '991268019' type: bot name: Operator email: >- operator+this_is_an_id364_that_should_be_at_least_@intercom.io attachments: [] external_id: null redacted: false total_count: 1 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: bbca43d7-7b1c-4e9b-8d18-d5d2916d4fd3 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: bd7f4079-dc3f-46bf-9bbf-2b1f191b8b15 errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: 4eb6706a-b87a-4616-be66-0ea0efa3c6a2 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /conversations/{id}/customers: post: summary: Attach a contact to a conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The identifier for the conversation as given by Intercom. example: '123' schema: type: string tags: - Conversations operationId: attachContactToConversation description: >+ You can add participants who are contacts to a conversation, on behalf of either another contact or an admin. {% admonition type="attention" name="Contacts without an email" %} If you add a contact via the email parameter and there is no user/lead found on that workspace with he given email, then we will create a new contact with `role` set to `lead`. {% /admonition %} responses: '200': description: Attach a contact to a conversation content: application/json: examples: Attach a contact to a conversation: value: customers: - type: user id: 6657accd6abd0166b52ae296 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 0ae4ae5b-3c72-4021-b85e-839bc8b95a90 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: ae3bce17-5330-4ab0-ab24-80950fd9aa87 errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: a048033f-349c-4d90-b528-365c75453d4f errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/attach_contact_to_conversation_request' examples: attach_a_contact_to_a_conversation: summary: Attach a contact to a conversation value: admin_id: 991268026 customer: intercom_user_id: 6657accd6abd0166b52ae296 not_found: summary: Not found value: admin_id: 991268028 customer: intercom_user_id: 6657accf6abd0166b52ae297 /conversations/{conversation_id}/customers/{contact_id}: delete: summary: Detach a contact from a group conversation parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: conversation_id in: path required: true description: The identifier for the conversation as given by Intercom. example: '123' schema: type: string - name: contact_id in: path required: true description: The identifier for the contact as given by Intercom. example: '123' schema: type: string tags: - Conversations operationId: detachContactFromConversation description: >+ You can add participants who are contacts to a conversation, on behalf of either another contact or an admin. {% admonition type="attention" name="Contacts without an email" %} If you add a contact via the email parameter and there is no user/lead found on that workspace with he given email, then we will create a new contact with `role` set to `lead`. {% /admonition %} responses: '200': description: Detach a contact from a group conversation content: application/json: examples: Detach a contact from a group conversation: value: customers: - type: user id: 6657acdb6abd0166b52ae2a2 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 0dfb1d41-1351-4a52-8734-422bd1975667 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: 27107267-ac8a-4aa3-b31c-f1975c15528f errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '404': description: Contact not found content: application/json: examples: Conversation not found: value: type: error.list request_id: c0acf09b-4bd1-4759-9138-e77cb0cb9612 errors: - code: not_found message: Resource Not Found Contact not found: value: type: error.list request_id: 65c63ed0-b740-4947-9a1b-8df8b1eca942 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' '422': description: Last customer content: application/json: examples: Last customer: value: type: error.list request_id: 818b9588-1d01-42f9-8ef1-24f389a3292a errors: - code: parameter_invalid message: Removing the last customer is not allowed schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/detach_contact_from_conversation_request' examples: detach_a_contact_from_a_group_conversation: summary: Detach a contact from a group conversation value: admin_id: 991268034 customer: intercom_user_id: 6657acd36abd0166b52ae29a conversation_not_found: summary: Conversation not found value: admin_id: 991268037 customer: intercom_user_id: 6657acdc6abd0166b52ae2a3 contact_not_found: summary: Contact not found value: admin_id: 991268040 customer: intercom_user_id: 6657ace46abd0166b52ae2ab last_customer: summary: Last customer value: admin_id: 991268043 customer: intercom_user_id: 6657acec6abd0166b52ae2b3 /conversations/redact: post: summary: Redact a conversation part parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Conversations operationId: redactConversation description: >+ You can redact a conversation part or the source message of a conversation (as seen in the source object). {% admonition type="info" name="Redacting parts and messages" %} If you are redacting a conversation part, it must have a `body`. If you are redacting a source message, it must have been created by a contact. We will return a `conversation_part_not_redactable` error if these criteria are not met. {% /admonition %} responses: '200': description: Redact a conversation part content: application/json: examples: Redact a conversation part: value: type: conversation id: '591' created_at: 1717021953 updated_at: 1717021955 waiting_since: 1717021953 snoozed_until: null source: type: conversation id: '403918378' delivered_as: admin_initiated subject: '' body:this is the message body
author: type: admin id: '991268052' name: Ciaran217 Lee email: admin217@email.com attachments: [] url: null redacted: false contacts: type: contact.list contacts: - type: contact id: 6657ad016abd0166b52ae2cb external_id: '70' first_contact_reply: created_at: 1717021953 type: conversation url: null admin_assignee_id: null team_assignee_id: null open: true state: open read: true tags: type: tag.list tags: [] priority: not_priority sla_applied: null statistics: null conversation_rating: null teammates: null title: null custom_attributes: {} topics: {} ticket: null linked_objects: type: list data: [] total_count: 0 has_more: false conversation_parts: type: conversation_part.list conversation_parts: - type: conversation_part id: '132' part_type: open body:This message was deleted
created_at: 1717021953 updated_at: 1717021955 notified_at: 1717021953 assigned_to: null author: id: 6657ad016abd0166b52ae2cb type: user name: Joe Bloggs email: joe@bloggs.com attachments: [] external_id: null redacted: true - type: conversation_part id: '133' part_type: language_detection_details body: null created_at: 1717021953 updated_at: 1717021953 notified_at: 1717021953 assigned_to: null author: id: '991268053' type: bot name: Operator email: >- operator+this_is_an_id398_that_should_be_at_least_@intercom.io attachments: [] external_id: null redacted: false total_count: 2 schema: $ref: '#/components/schemas/conversation' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: a9519c92-4a60-4c0d-953e-0fca6ff06212 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Not found content: application/json: examples: Not found: value: type: error.list request_id: 394f2420-6d6c-464d-9ac0-d8d80294ff19 errors: - code: conversation_part_or_message_not_found message: Conversation part or message not found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/redact_conversation_request' examples: redact_a_conversation_part: summary: Redact a conversation part value: type: conversation_part conversation_id: 591 conversation_part_id: 132 not_found: summary: Not found value: type: conversation_part conversation_id: really_123_doesnt_exist conversation_part_id: really_123_doesnt_exist /conversations/{id}/convert: post: summary: Convert a conversation to a ticket parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The id of the conversation to target example: 123 schema: type: integer tags: - Conversations description: You can convert a conversation to a ticket. operationId: convertConversationToTicket responses: '200': description: successful content: application/json: examples: successful: value: type: ticket id: '594' ticket_id: '7' ticket_attributes: {} ticket_state: submitted ticket_state_internal_label: Submitted ticket_state_external_label: Submitted ticket_type: type: ticket_type id: '81' name: my-ticket-type-1 description: my ticket type description is awesome. icon: 🦁 workspace_id: this_is_an_id404_that_should_be_at_least_ archived: false created_at: 1717021963 updated_at: 1717021963 is_internal: false ticket_type_attributes: type: list data: [] category: Customer contacts: type: contact.list contacts: - type: contact id: 6657ad086abd0166b52ae2ce external_id: '70' admin_assignee_id: '0' team_assignee_id: '0' created_at: 1717021960 updated_at: 1717021964 ticket_parts: type: ticket_part.list ticket_parts: - type: ticket_part id: '136' part_type: comment body:Comment for message
created_at: 1717021960 updated_at: 1717021960 author: id: 6657ad086abd0166b52ae2ce type: user name: Joe Bloggs email: joe@bloggs.com attachments: [] redacted: false - type: ticket_part id: '137' part_type: language_detection_details created_at: 1717021960 updated_at: 1717021960 author: id: '991268062' type: bot name: Operator email: >- operator+this_is_an_id404_that_should_be_at_least_@intercom.io attachments: [] redacted: false - type: ticket_part id: '138' part_type: ticket_state_updated_by_admin ticket_state: submitted previous_ticket_state: submitted created_at: 1717021964 updated_at: 1717021964 author: id: '991268062' type: bot name: Operator email: >- operator+this_is_an_id404_that_should_be_at_least_@intercom.io attachments: [] redacted: false total_count: 3 open: true linked_objects: type: list data: [] total_count: 0 has_more: false category: Customer is_shared: true schema: $ref: '#/components/schemas/ticket' '400': description: Bad request content: application/json: examples: Bad request: value: type: error.list request_id: a2280bdc-72d4-4cfd-8097-3dd1ef9de3d0 errors: - code: parameter_invalid message: Ticket type is not a customer ticket type schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/convert_conversation_to_ticket_request' examples: successful: summary: successful value: ticket_type_id: '81' bad_request: summary: Bad request value: ticket_type_id: '82' /data_attributes: get: summary: List all data attributes parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: model in: query required: false description: Specify the data attribute model to return. schema: type: string enum: - contact - company - conversation example: company - name: include_archived in: query required: false description: >- Include archived attributes in the list. By default we return only non archived data attributes. example: false schema: type: boolean tags: - Data Attributes operationId: lisDataAttributes description: >- You can fetch a list of all data attributes belonging to a workspace for contacts, companies or conversations. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: list data: - type: data_attribute name: name full_name: name label: Company name description: The name of a company data_type: string api_writable: true ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: company_id full_name: company_id label: Company ID description: A number identifying a company data_type: string api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: last_request_at full_name: last_request_at label: Company last seen description: >- The last day anyone from a company visited your site or app data_type: date api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: remote_created_at full_name: remote_created_at label: Company created at description: The day a company was added to Intercom data_type: date api_writable: true ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: user_count full_name: user_count label: People description: The number of people in a company data_type: integer api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: session_count full_name: session_count label: Company web sessions description: >- All visits from anyone in a company to your product's site or app data_type: integer api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: name full_name: plan.name label: Plan description: >- A specific plan or level within your product that companies have signed up to data_type: string api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: monthly_spend full_name: monthly_spend label: Monthly Spend description: The monthly revenue you receive from a company data_type: float api_writable: true ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: size full_name: size label: Company size description: >- The number of people employed in this company, expressed as a single number data_type: integer api_writable: true ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: industry full_name: industry label: Company industry description: >- The category or domain this company belongs to e.g. 'ecommerce' or 'SaaS' data_type: string api_writable: true ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: website full_name: website label: Company website description: >- The web address for the company's primary marketing site data_type: string api_writable: true ui_writable: false messenger_writable: true custom: false archived: false model: company - id: 50 type: data_attribute name: The One Ring full_name: custom_attributes.The One Ring label: The One Ring description: >- One ring to rule them all, one ring to find them, One ring to bring them all and in the darkness bind them. data_type: string api_writable: true ui_writable: false messenger_writable: true custom: true archived: false admin_id: '991268079' created_at: 1717021971 updated_at: 1717021971 model: company - type: data_attribute name: id full_name: id label: ID description: The Intercom defined id representing the company data_type: string api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: created_at full_name: created_at label: Created at description: The time the company was added to Intercom data_type: date api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: updated_at full_name: updated_at label: Updated at description: The last time the company was updated data_type: date api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: id full_name: plan.id label: Plan ID description: The Intercom defined id representing the plan data_type: string api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company - type: data_attribute name: app_id full_name: app_id label: App ID description: The Intercom defined id representing the app data_type: string api_writable: false ui_writable: false messenger_writable: true custom: false archived: false model: company schema: $ref: '#/components/schemas/data_attribute_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 5d4446de-b626-4a92-83b9-05953191969f errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' post: summary: Create a data attribute parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Data Attributes operationId: createDataAttribute description: You can create a data attributes for a `contact` or a `company`. responses: '200': description: Successful content: application/json: examples: Successful: value: id: 53 type: data_attribute name: Mithril Shirt full_name: custom_attributes.Mithril Shirt label: Mithril Shirt data_type: string api_writable: true ui_writable: false messenger_writable: true custom: true archived: false admin_id: '991268081' created_at: 1717021972 updated_at: 1717021972 model: company schema: $ref: '#/components/schemas/data_attribute' '400': description: Too few options for list content: application/json: examples: Same name already exists: value: type: error.list request_id: 07c6ffe9-c6ae-4fa2-bee2-7788bc1c2e11 errors: - code: parameter_invalid message: >- You already have 'The One Ring' in your company data. To save this as new people data, use a different name. Invalid name: value: type: error.list request_id: 2e90ad71-4c66-4b92-a35f-8b0326cf6ea3 errors: - code: parameter_invalid message: >- Your name for this attribute must only contain alphanumeric characters, currency symbols, and hyphens Attribute already exists: value: type: error.list request_id: 0f93c362-dc5d-49ff-b886-18bdf857f9d1 errors: - code: parameter_invalid message: >- You already have 'The One Ring' in your company data. To save this as new company data, use a different name. Invalid Data Type: value: type: error.list request_id: 54b25e44-524f-4c89-bb6a-7d711d2a7311 errors: - code: parameter_invalid message: Data Type isn't an option Too few options for list: value: type: error.list request_id: 9edd60f0-8b5e-45df-ae17-36096426e989 errors: - code: parameter_invalid message: >- The Data Attribute model field must be either contact or company schema: $ref: '#/components/schemas/error' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 3fad6c46-c6f0-49f6-b952-350f6e626283 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_data_attribute_request' examples: successful: summary: Successful value: name: Mithril Shirt model: company data_type: string same_name_already_exists: summary: Same name already exists value: name: The One Ring model: contact data_type: integer invalid_name: summary: Invalid name value: name: '!nv@l!d n@me' model: company data_type: string attribute_already_exists: summary: Attribute already exists value: name: The One Ring model: company data_type: string invalid_data_type: summary: Invalid Data Type value: name: The Second Ring model: company data_type: mithril too_few_options_for_list: summary: Too few options for list value: description: Just a plain old ring options: - value: 1-10 archived: false /data_attributes/{id}: put: summary: Update a data attribute parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The data attribute id example: 1 schema: type: integer tags: - Data Attributes operationId: updateDataAttribute description: > You can update a data attribute. > 🚧 Updating the data type is not possible > > It is currently a dangerous action to execute changing a data attribute's type via the API. You will need to update the type via the UI instead. responses: '200': description: Successful content: application/json: examples: Successful: value: id: 60 type: data_attribute name: The One Ring full_name: custom_attributes.The One Ring label: The One Ring description: Just a plain old ring data_type: string options: - 1-10 - 11-20 api_writable: true ui_writable: false messenger_writable: true custom: true archived: false admin_id: '991268088' created_at: 1717021975 updated_at: 1717021976 model: company schema: $ref: '#/components/schemas/data_attribute' '400': description: Too few options in list content: application/json: examples: Too few options in list: value: type: error.list request_id: 6471adaf-96ef-48fa-a0ec-44697e4c7739 errors: - code: parameter_invalid message: Options isn't an array schema: $ref: '#/components/schemas/error' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 2428cd8f-1448-410a-883b-0ed9f7414146 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Attribute Not Found content: application/json: examples: Attribute Not Found: value: type: error.list request_id: 305ffcfc-c0b5-4770-85ea-a1195f1cc166 errors: - code: field_not_found message: We couldn't find that data attribute to update schema: $ref: '#/components/schemas/error' '422': description: Has Dependant Object content: application/json: examples: Has Dependant Object: value: type: error.list request_id: c6678fa8-515b-485c-855f-1170098c958d errors: - code: data_invalid message: >- The Data Attribute you are trying to archive has a dependant object schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/update_data_attribute_request' examples: successful: summary: Successful value: description: Just a plain old ring options: - value: 1-10 - value: 11-20 archived: false too_few_options_in_list: summary: Too few options in list value: description: Too few options options: value: 1-10 archived: false attribute_not_found: summary: Attribute Not Found value: description: Just a plain old ring options: - value: 1-10 - value: 11-20 archived: false has_dependant_object: summary: Has Dependant Object value: description: Trying to archieve archived: true /events: post: summary: Submit a data event parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Data Events operationId: createDataEvent description: >+ You will need an Access Token that has write permissions to send Events. Once you have a key you can submit events via POST to the Events resource, which is located at https://api.intercom.io/events, or you can send events using one of the client libraries. When working with the HTTP API directly a client should send the event with a `Content-Type` of `application/json`. When using the JavaScript API, [adding the code to your app](http://docs.intercom.io/configuring-Intercom/tracking-user-events-in-your-app) makes the Events API available. Once added, you can submit an event using the `trackEvent` method. This will associate the event with the Lead or currently logged-in user or logged-out visitor/lead and send it to Intercom. The final parameter is a map that can be used to send optional metadata about the event. With the Ruby client you pass a hash describing the event to `Intercom::Event.create`, or call the `track_user` method directly on the current user object (e.g. `user.track_event`). **NB: For the JSON object types, please note that we do not currently support nested JSON structure.** | Type | Description | Example | | :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------- | | String | The value is a JSON String | `"source":"desktop"` | | Number | The value is a JSON Number | `"load": 3.67` | | Date | The key ends with the String `_date` and the value is a [Unix timestamp](http://en.wikipedia.org/wiki/Unix_time), assumed to be in the [UTC](http://en.wikipedia.org/wiki/Coordinated_Universal_Time) timezone. | `"contact_date": 1392036272` | | Link | The value is a HTTP or HTTPS URI. | `"article": "https://example.org/ab1de.html"` | | Rich Link | The value is a JSON object that contains `url` and `value` keys. | `"article": {"url": "https://example.org/ab1de.html", "value":"the dude abides"}` | | Monetary Amount | The value is a JSON object that contains `amount` and `currency` keys. The `amount` key is a positive integer representing the amount in cents. The price in the example to the right denotes €349.99. | `"price": {"amount": 34999, "currency": "eur"}` | **Lead Events** When submitting events for Leads, you will need to specify the Lead's `id`. **Metadata behaviour** - We currently limit the number of tracked metadata keys to 10 per event. Once the quota is reached, we ignore any further keys we receive. The first 10 metadata keys are determined by the order in which they are sent in with the event. - It is not possible to change the metadata keys once the event has been sent. A new event will need to be created with the new keys and you can archive the old one. - There might be up to 24 hrs delay when you send a new metadata for an existing event. **Event de-duplication** The API may detect and ignore duplicate events. Each event is uniquely identified as a combination of the following data - the Workspace identifier, the Contact external identifier, the Data Event name and the Data Event created time. As a result, it is **strongly recommended** to send a second granularity Unix timestamp in the `created_at` field. Duplicated events are responded to using the normal `202 Accepted` code - an error is not thrown, however repeat requests will be counted against any rate limit that is in place. ### HTTP API Responses - Successful responses to submitted events return `202 Accepted` with an empty body. - Unauthorised access will be rejected with a `401 Unauthorized` or `403 Forbidden` response code. - Events sent about users that cannot be found will return a `404 Not Found`. - Event lists containing duplicate events will have those duplicates ignored. - Server errors will return a `500` response code and may contain an error message in the body. responses: '202': description: successful '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 3bfd00b2-d070-4836-9eeb-e4440dc226b0 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_data_event_request' get: summary: List all data events parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - in: query name: filter required: true style: form explode: true schema: type: object oneOf: - title: user_id query parameter properties: user_id: type: string required: - user_id additionalProperties: false - title: intercom_user_id query parameter properties: intercom_user_id: type: string required: - intercom_user_id additionalProperties: false - title: email query parameter properties: email: type: string required: - email additionalProperties: false - name: type in: query required: true description: The value must be user schema: type: string - name: summary in: query required: false description: summary flag schema: type: boolean tags: - Data Events operationId: lisDataEvents description: > > 🚧 > > Please note that you can only 'list' events that are less than 90 days old. Event counts and summaries will still include your events older than 90 days but you cannot 'list' these events individually if they are older than 90 days The events belonging to a customer can be listed by sending a GET request to `https://api.intercom.io/events` with a user or lead identifier along with a `type` parameter. The identifier parameter can be one of `user_id`, `email` or `intercom_user_id`. The `type` parameter value must be `user`. - `https://api.intercom.io/events?type=user&user_id={user_id}` - `https://api.intercom.io/events?type=user&email={email}` - `https://api.intercom.io/events?type=user&intercom_user_id={id}` (this call can be used to list leads) The `email` parameter value should be [url encoded](http://en.wikipedia.org/wiki/Percent-encoding) when sending. You can optionally define the result page size as well with the `per_page` parameter. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: event.summary events: [] pages: next: http://api.intercom.test/events?next page email: user26@email.com intercom_user_id: 6657ad1d6abd0166b52ae2d4 user_id: 3ecf64d0-9ed1-4e9f-88e1-da7d6e6782f3 schema: $ref: '#/components/schemas/data_event_summary' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 18a7bf9e-fbfb-40ec-8836-5f7b16611d3d errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /events/summaries: post: summary: Create event summaries parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Data Events operationId: dataEventSummaries description: >+ Create event summaries for a user. Event summaries are used to track the number of times an event has occurred, the first time it occurred and the last time it occurred. responses: '200': description: successful '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 9de4a35b-e6c1-4162-9ed7-b57f3a1e459b errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_data_event_summaries_request' /export/content/data: post: summary: Create content data export parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Data Export operationId: createDataExport description: > To create your export job, you need to send a `POST` request to the export endpoint `https://api.intercom.io/export/content/data`. The only parameters you need to provide are the range of dates that you want exported. >🚧 Limit of one active job > > You can only have one active job per workspace. You will receive a HTTP status code of 429 with the message Exceeded rate limit of 1 pending message data export jobs if you attempt to create a second concurrent job. >❗️ Updated_at not included > > It should be noted that the timeframe only includes messages sent during the time period and not messages that were only updated during this period. For example, if a message was updated yesterday but sent two days ago, you would need to set the created_at_after date before the message was sent to include that in your retrieval job. >📘 Date ranges are inclusive > > Requesting data for 2018-06-01 until 2018-06-30 will get all data for those days including those specified - e.g. 2018-06-01 00:00:00 until 2018-06-30 23:59:99. responses: '200': description: successful content: application/json: examples: successful: value: job_identifier: 3pnq4uopx4s9cmye status: pending download_url: '' download_expires_at: '' schema: $ref: '#/components/schemas/data_export' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_data_exports_request' examples: successful: summary: successful value: created_at_after: 1717003983 created_at_before: 1717021983 /export/content/data/{job_identifier}: get: summary: Show content data export parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: job_identifier in: path description: job_identifier required: true schema: type: string tags: - Data Export operationId: getDataExport description: > You can view the status of your job by sending a `GET` request to the URL `https://api.intercom.io/export/content/data/{job_identifier}` - the `{job_identifier}` is the value returned in the response when you first created the export job. More on it can be seen in the Export Job Model. > 🚧 Jobs expire after two days > All jobs that have completed processing (and are thus available to download from the provided URL) will have an expiry limit of two days from when the export ob completed. After this, the data will no longer be available. responses: '200': description: successful content: application/json: examples: successful: value: job_identifier: g7izbbolicujndl4 status: pending download_url: '' download_expires_at: '' schema: $ref: '#/components/schemas/data_export' /export/cancel/{job_identifier}: post: summary: Cancel content data export parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: job_identifier in: path description: job_identifier required: true schema: type: string tags: - Data Export operationId: cancelDataExport description: You can cancel your job responses: '200': description: successful content: application/json: examples: successful: value: job_identifier: vl698f5y3e0vz9y6 status: canceled download_url: '' download_expires_at: '' schema: $ref: '#/components/schemas/data_export' /download/content/data/{job_identifier}: get: summary: Download content data export parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: job_identifier in: path description: job_identifier required: true schema: type: string tags: - Data Export operationId: downloadDataExport description: > When a job has a status of complete, and thus a filled download_url, you can download your data by hitting that provided URL, formatted like so: https://api.intercom.io/download/content/data/xyz1234. Your exported message data will be streamed continuously back down to you in a gzipped CSV format. > 📘 Octet header required > > You will have to specify the header Accept: `application/octet-stream` when hitting this endpoint. responses: '200': description: successful /messages: post: summary: Create a message parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Messages operationId: createMessage description: > You can create a message that has been initiated by an admin. The conversation can be either an in-app message or an email. > 🚧 Sending for visitors > > There can be a short delay between when a contact is created and when a contact becomes available to be messaged through the API. A 404 Not Found error will be returned in this case. This will return the Message model that has been created. > 🚧 Retrieving Associated Conversations > > As this is a message, there will be no conversation present until the contact responds. Once they do, you will have to search for a contact's conversations with the id of the message. responses: '200': description: admin message created content: application/json: examples: user message created: value: type: user_message id: '403918383' created_at: 1717021986 body: heyy message_type: inapp conversation_id: '596' lead message created: value: type: user_message id: '403918384' created_at: 1717021987 body: heyy message_type: inapp conversation_id: '597' admin message created: value: type: admin_message id: '20' created_at: 1717021989 subject: heyy body: heyy message_type: inapp owner: type: admin id: '991268111' name: Ciaran269 Lee email: admin269@email.com away_mode_enabled: false away_mode_reassign: false schema: $ref: '#/components/schemas/message' '400': description: No body supplied for email message content: application/json: examples: No body supplied for message: value: type: error.list request_id: dfbde19e-1244-4d77-a99f-a5555b76be69 errors: - code: parameter_invalid message: Body is required No body supplied for email message: value: type: error.list request_id: 0daa0892-2df6-46f8-a48a-da53c6415ab7 errors: - code: parameter_invalid message: Body is required schema: $ref: '#/components/schemas/error' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 9fb2444c-646b-412a-9ade-e19072841079 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '403': description: API plan restricted content: application/json: examples: API plan restricted: value: type: error.list request_id: 6db43603-31a8-42de-b2ec-0760923a486b errors: - code: api_plan_restricted message: Active subscription needed. schema: $ref: '#/components/schemas/error' '422': description: No subject supplied for email message content: application/json: examples: No subject supplied for email message: value: type: error.list request_id: 41b5c04e-c2f1-4032-b19f-34df574a638e errors: - code: parameter_not_found message: No subject supplied for email message schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_message_request' examples: user_message_created: summary: user message created value: from: type: user id: 6657ad226abd0166b52ae2d9 body: heyy referer: https://twitter.com/bob lead_message_created: summary: lead message created value: from: type: lead id: 6657ad236abd0166b52ae2da body: heyy referer: https://twitter.com/bob admin_message_created: summary: admin message created value: from: type: admin id: '991268111' to: type: user id: 6657ad246abd0166b52ae2db message_type: conversation body: heyy no_body_supplied_for_message: summary: No body supplied for message value: from: type: admin id: '991268113' to: type: user id: 6657ad256abd0166b52ae2dc message_type: inapp body: null subject: heyy no_subject_supplied_for_email_message: summary: No subject supplied for email message value: from: type: admin id: '991268114' to: type: user user_id: '70' message_type: email body: hey there no_body_supplied_for_email_message: summary: No body supplied for email message value: from: type: admin id: '991268115' to: type: user id: 6657ad276abd0166b52ae2de message_type: email body: null subject: heyy /news/news_items: get: summary: List all news items parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - News operationId: listNewsItems description: You can fetch a list of all news items responses: '200': description: successful content: application/json: examples: successful: value: type: list pages: page: 1 per_page: 10 total_pages: 1 type: pages data: - id: '43' type: news-item workspace_id: this_is_an_id494_that_should_be_at_least_ title: We have news body:Hello there,
sender_id: 991268120 state: draft labels: [] cover_image_url: null reactions: - null - null - null - null deliver_silently: false created_at: 1717021993 updated_at: 1717021993 newsfeed_assignments: [] - id: '44' type: news-item workspace_id: this_is_an_id494_that_should_be_at_least_ title: We have news body:Hello there,
sender_id: 991268122 state: draft labels: [] cover_image_url: null reactions: - null - null - null - null deliver_silently: false created_at: 1717021993 updated_at: 1717021993 newsfeed_assignments: [] total_count: 2 schema: $ref: '#/components/schemas/paginated_response' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 4f2971c9-0646-49c1-8812-ec34f13b399a errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' post: summary: Create a news item parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - News operationId: createNewsItem description: You can create a news item responses: '200': description: successful content: application/json: examples: successful: value: id: '47' type: news-item workspace_id: this_is_an_id498_that_should_be_at_least_ title: Halloween is here! body:New costumes in store for this spooky season
sender_id: 991268129 state: live labels: - New - Product - Update cover_image_url: null reactions: - 😆 - 😅 deliver_silently: true created_at: 1717021995 updated_at: 1717021995 newsfeed_assignments: - newsfeed_id: 78 published_at: 1664638214 schema: $ref: '#/components/schemas/news_item' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 7dde66a2-02fe-4584-a4e5-8776c7c0dcef errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/news_item_request' examples: successful: summary: successful value: title: Halloween is here! body:New costumes in store for this spooky season
labels: - Product - Update - New sender_id: 991268129 deliver_silently: true reactions: - 😆 - 😅 state: live newsfeed_assignments: - newsfeed_id: 78 published_at: 1664638214 /news/news_items/{id}: get: summary: Retrieve a news item parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier for the news item which is given by Intercom. example: 123 schema: type: integer tags: - News operationId: retrieveNewsItem description: You can fetch the details of a single news item. responses: '200': description: successful content: application/json: examples: successful: value: id: '48' type: news-item workspace_id: this_is_an_id502_that_should_be_at_least_ title: We have news body:Hello there,
sender_id: 991268132 state: live labels: [] cover_image_url: null reactions: - null - null - null - null deliver_silently: false created_at: 1717021996 updated_at: 1717021996 newsfeed_assignments: - newsfeed_id: 80 published_at: 1717021996 schema: $ref: '#/components/schemas/news_item' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: e47da3cd-6f07-49f5-94e7-f86d96e2eabc errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: News Item Not Found content: application/json: examples: News Item Not Found: value: type: error.list request_id: 44c6e566-06f3-4ed9-8752-4db6362c202d errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' put: summary: Update a news item parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier for the news item which is given by Intercom. example: 123 schema: type: integer tags: - News operationId: updateNewsItem responses: '200': description: successful content: application/json: examples: successful: value: id: '51' type: news-item workspace_id: this_is_an_id508_that_should_be_at_least_ title: Christmas is here! body:New gifts in store for the jolly season
sender_id: 991268140 state: live labels: [] cover_image_url: null reactions: - 😝 - 😂 deliver_silently: false created_at: 1717021998 updated_at: 1717021999 newsfeed_assignments: [] schema: $ref: '#/components/schemas/news_item' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 4b8c2d84-3f4b-4a3f-83d7-5059675ec388 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: News Item Not Found content: application/json: examples: News Item Not Found: value: type: error.list request_id: e24490a7-e81d-4a28-976f-8c8eae55b1ec errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/news_item_request' examples: successful: summary: successful value: title: Christmas is here! body:New gifts in store for the jolly season
sender_id: 991268140 reactions: - 😝 - 😂 news_item_not_found: summary: News Item Not Found value: title: Christmas is here! body:New gifts in store for the jolly season
sender_id: 991268143 reactions: - 😝 - 😂 delete: summary: Delete a news item parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier for the news item which is given by Intercom. example: 123 schema: type: integer tags: - News operationId: deleteNewsItem description: You can delete a single news item. responses: '200': description: successful content: application/json: examples: successful: value: id: '54' object: news-item deleted: true schema: $ref: '#/components/schemas/deleted_object' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 62c4f712-89fa-45d6-9cb8-06721c0c8a06 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: News Item Not Found content: application/json: examples: News Item Not Found: value: type: error.list request_id: 90090cac-afda-4e61-b200-e0c6dd2cf67c errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /news/newsfeeds/{id}/items: get: summary: List all live newsfeed items parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: >- The unique identifier for the news feed item which is given by Intercom. example: '123' schema: type: string tags: - News operationId: listLiveNewsfeedItems description: You can fetch a list of all news items that are live on a given newsfeed responses: '200': description: successful content: application/json: examples: successful: value: type: list pages: page: 1 per_page: 20 total_pages: 0 type: pages data: [] total_count: 0 schema: $ref: '#/components/schemas/paginated_response' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 3752fdcd-3d8f-4eb9-a2ec-c74b3f9f19de errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /news/newsfeeds: get: summary: List all newsfeeds parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - News operationId: listNewsfeeds description: You can fetch a list of all newsfeeds responses: '200': description: successful content: application/json: examples: successful: value: type: list pages: page: 1 per_page: 10 total_pages: 1 type: pages data: - id: '93' type: newsfeed name: Visitor Feed created_at: 1717022004 updated_at: 1717022004 - id: '94' type: newsfeed name: Visitor Feed created_at: 1717022004 updated_at: 1717022004 total_count: 2 schema: $ref: '#/components/schemas/paginated_response' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 0bd9ad84-12fb-4eaa-9fc6-4c8c3c371f6d errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /news/newsfeeds/{id}: get: summary: Retrieve a newsfeed parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: >- The unique identifier for the news feed item which is given by Intercom. example: '123' schema: type: string tags: - News operationId: retrieveNewsfeed description: You can fetch the details of a single newsfeed responses: '200': description: successful content: application/json: examples: successful: value: id: '97' type: newsfeed name: Visitor Feed created_at: 1717022005 updated_at: 1717022005 schema: $ref: '#/components/schemas/newsfeed' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 8d96d99a-b27c-4899-8c17-6ed05343d647 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /notes/{id}: get: summary: Retrieve a note parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier of a given note example: 1 schema: type: integer tags: - Notes operationId: retrieveNote description: You can fetch the details of a single note. responses: '200': description: Note found content: application/json: examples: Note found: value: type: note id: '50' created_at: 1716330806 contact: type: contact id: 6657ad366abd0166b52ae2e1 author: type: admin id: '991268159' name: Ciaran316 Lee email: admin316@email.com away_mode_enabled: false away_mode_reassign: false body:This is a note.
schema: $ref: '#/components/schemas/note' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 5ff4edab-33e9-4a6f-8a4e-04af87a4164b errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Note not found content: application/json: examples: Note not found: value: type: error.list request_id: d017c00f-98c7-49f3-b84a-219d5fba46de errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /segments: get: summary: List all segments parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: include_count in: query required: false description: It includes the count of contacts that belong to each segment. example: true schema: type: boolean tags: - Segments operationId: listSegments description: You can fetch a list of all segments. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: segment.list segments: - type: segment id: 6657ad386abd0166b52ae2e4 name: John segment created_at: 1717022008 updated_at: 1717022008 person_type: user - type: segment id: 6657ad386abd0166b52ae2e5 name: Jane segment created_at: 1717022008 updated_at: 1717022008 person_type: user schema: $ref: '#/components/schemas/segment_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 3e8acffd-1b25-4095-b1ab-1b655857cd9d errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /segments/{id}: get: summary: Retrieve a segment parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identified of a given segment. example: '123' schema: type: string tags: - Segments operationId: retrieveSegment description: You can fetch the details of a single segment. responses: '200': description: Successful response content: application/json: examples: Successful response: value: type: segment id: 6657ad3a6abd0166b52ae2e8 name: John segment created_at: 1717022010 updated_at: 1717022010 person_type: user schema: $ref: '#/components/schemas/segment' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 50030fc7-b04f-402c-8454-785b338d2ad4 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Segment not found content: application/json: examples: Segment not found: value: type: error.list request_id: 01cd4ba5-eca5-4bc8-b85d-634bc4298b92 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /subscription_types: get: summary: List subscription types parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Subscription Types operationId: listSubscriptionTypes description: >- You can list all subscription types. A list of subscription type objects will be returned. responses: '200': description: Successful content: application/json: examples: Successful: value: type: list data: - type: subscription id: '183' state: live consent_type: opt_out default_translation: name: Newsletters description: Lorem ipsum dolor sit amet locale: en translations: - name: Newsletters description: Lorem ipsum dolor sit amet locale: en content_types: - email schema: $ref: '#/components/schemas/subscription_type_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: f9d441eb-89af-4ab8-bb1f-32a5dcda5edb errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /phone_call_redirects: post: summary: Create a phone Switch parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Switch operationId: createPhoneSwitch description: > You can use the API to deflect phone calls to the Intercom Messenger. Calling this endpoint will send an SMS with a link to the Messenger to the phone number specified. If custom attributes are specified, they will be added to the user or lead's custom data attributes. responses: '200': description: successful content: application/json: examples: successful: value: url: >- http://via.intercom.io/msgr/e7de2e61-94a6-4fc9-8e70-12e4ab66f215 type: phone_call_redirect schema: $ref: '#/components/schemas/phone_switch' '400': description: bad request - invalid number content: application/json: examples: bad request - exception sending sms: value: error_key: sms_failed message: SMS was not sent due to an unknown error bad request - invalid number: value: error_key: invalid_phone_number message: Invalid phone number '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 45de5010-e0f0-4dd5-b83b-5b07e2c6226a errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '422': description: unprocessable entity content: application/json: examples: unprocessable entity: value: error_key: some_error requestBody: content: application/json: schema: $ref: '#/components/schemas/create_phone_switch_request' examples: successful: summary: successful value: phone: '+353832345678' custom_attributes: issue_type: Billing priority: High bad_request_-_exception_sending_sms: summary: bad request - exception sending sms value: phone: '+353832345678' custom_attributes: issue_type: Billing priority: High bad_request_-_invalid_number: summary: bad request - invalid number value: phone: '+353832345678' custom_attributes: issue_type: Billing priority: High unprocessable_entity: summary: unprocessable entity value: phone: '+40241100100' custom_attributes: issue_type: Billing priority: High /tags: get: summary: List all tags parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Tags operationId: listTags description: |+ You can fetch a list of all tags for a given workspace. responses: '200': description: successful content: application/json: examples: successful: value: type: list data: - type: tag id: '146' name: Manual tag 1 schema: $ref: '#/components/schemas/tag_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 38728890-0f57-4bf0-ae15-4a98b4f69701 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' post: summary: Create or update a tag, Tag or untag companies, Tag contacts parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Tags operationId: createTag description: | You can use this endpoint to perform the following operations: **1. Create a new tag:** You can create a new tag by passing in the tag name as specified in "Create or Update Tag Request Payload" described below. **2. Update an existing tag:** You can update an existing tag by passing the id of the tag as specified in "Create or Update Tag Request Payload" described below. **3. Tag Companies:** You can tag single company or a list of companies. You can tag a company by passing in the tag name and the company details as specified in "Tag Company Request Payload" described below. Also, if the tag doesn't exist then a new one will be created automatically. **4. Untag Companies:** You can untag a single company or a list of companies. You can untag a company by passing in the tag id and the company details as specified in "Untag Company Request Payload" described below. **5. Tag Multiple Users:** You can tag a list of users. You can tag the users by passing in the tag name and the user details as specified in "Tag Users Request Payload" described below. Each operation will return a tag object. responses: '200': description: Action successful content: application/json: examples: Action successful: value: type: tag id: '149' name: test schema: $ref: '#/components/schemas/tag' '400': description: Invalid parameters content: application/json: examples: Invalid parameters: value: type: error.list request_id: a424735f-72f1-456e-a228-8d0881a7f844 errors: - code: parameter_invalid message: invalid tag parameters schema: $ref: '#/components/schemas/error' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 7a274c3c-2167-4b5f-950c-89b3d03a2925 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: User not found content: application/json: examples: Company not found: value: type: error.list request_id: d0b7ec63-1bb4-411a-999a-8dd6dbf57469 errors: - code: company_not_found message: Company Not Found User not found: value: type: error.list request_id: d7386d82-7ae0-4fff-9309-8006921b0439 errors: - code: not_found message: User Not Found schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/create_or_update_tag_request' - $ref: '#/components/schemas/tag_company_request' - $ref: '#/components/schemas/untag_company_request' - $ref: '#/components/schemas/tag_multiple_users_request' examples: action_successful: summary: Action successful value: name: test invalid_parameters: summary: Invalid parameters value: test: invalid company_not_found: summary: Company not found value: name: test companies: - company_id: '123' user_not_found: summary: User not found value: name: test users: - id: '123' /tags/{id}: get: summary: Find a specific tag parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path description: The unique identifier of a given tag example: '123' required: true schema: type: string tags: - Tags operationId: findTag description: | You can fetch the details of tags that are on the workspace by their id. This will return a tag object. responses: '200': description: Tag found content: application/json: examples: Tag found: value: type: tag id: '157' name: Manual tag schema: $ref: '#/components/schemas/tag' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 8a2d7e19-1e6b-430c-a2d7-683d4ecc93ef errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Tag not found content: application/json: examples: Tag not found: value: type: error.list request_id: 244b7b5b-7b28-4760-888d-4be68ce30f33 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' delete: summary: Delete tag parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path description: The unique identifier of a given tag example: '123' required: true schema: type: string tags: - Tags operationId: deleteTag description: >- You can delete the details of tags that are on the workspace by passing in the id. responses: '200': description: Successful '400': description: Tag has dependent objects content: application/json: examples: Tag has dependent objects: value: type: error.list request_id: 7b18f0bf-d570-44b1-bbb1-7a73f48acda8 errors: - code: tag_has_dependent_objects message: >- Unable to delete Tag with dependent objects. Segments: Seg 1. schema: $ref: '#/components/schemas/error' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 40f4e164-afc5-4e47-bdc1-dccf4c7334b7 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Resource not found content: application/json: examples: Resource not found: value: type: error.list request_id: 52d30e67-6e30-4303-8166-57b30da57b47 errors: - code: not_found message: Resource Not Found schema: $ref: '#/components/schemas/error' /teams: get: summary: List all teams parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Teams operationId: listTeams description: This will return a list of team objects for the App. responses: '200': description: successful content: application/json: examples: successful: value: type: team.list teams: [] schema: $ref: '#/components/schemas/team_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: c062e86a-f3e4-4246-8c8f-b2cd8883dc46 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' /teams/{id}: get: summary: Retrieve a team parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: The unique identifier of a given team. example: '123' schema: type: string tags: - Teams operationId: retrieveTeam description: >- You can fetch the details of a single team, containing an array of admins that belong to this team. responses: '200': description: successful content: application/json: examples: successful: value: type: team id: '991268197' name: team 1 admin_ids: [] schema: $ref: '#/components/schemas/team' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: bf3f5c60-d320-44bc-a046-859566b07b75 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' '404': description: Team not found content: application/json: examples: Team not found: value: type: error.list request_id: d207dd08-c43f-4c74-a032-a49246a5d217 errors: - code: team_not_found message: Team not found schema: $ref: '#/components/schemas/error' /ticket_types/{ticket_type_id}/attributes: post: summary: Create a new attribute for a ticket type parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: ticket_type_id in: path required: true description: >- The unique identifier for the ticket type which is given by Intercom. schema: type: string tags: - Ticket Type Attributes description: You can create a new attribute for a ticket type. operationId: createTicketTypeAttribute responses: '200': description: Ticket Type Attribute created content: application/json: examples: Ticket Type Attribute created: value: type: ticket_type_attribute id: '253' workspace_id: this_is_an_id600_that_should_be_at_least_ name: Attribute Title description: Attribute Description data_type: string input_options: multiline: false order: 2 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: false ticket_type_id: 83 archived: false created_at: 1717022030 updated_at: 1717022030 schema: $ref: '#/components/schemas/ticket_type_attribute' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 407638c9-9fbc-4a72-b2fd-0dac5036e052 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_ticket_type_attribute_request' examples: ticket_type_attribute_created: summary: Ticket Type Attribute created value: name: Attribute Title description: Attribute Description data_type: string required_to_create: false /ticket_types/{ticket_type_id}/attributes/{id}: put: summary: Update an existing attribute for a ticket type parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: ticket_type_id in: path required: true description: >- The unique identifier for the ticket type which is given by Intercom. schema: type: string - name: id in: path required: true description: >- The unique identifier for the ticket type attribute which is given by Intercom. schema: type: string tags: - Ticket Type Attributes description: You can update an existing attribute for a ticket type. operationId: updateTicketTypeAttribute responses: '200': description: Ticket Type Attribute updated content: application/json: examples: Ticket Type Attribute updated: value: type: ticket_type_attribute id: '258' workspace_id: this_is_an_id604_that_should_be_at_least_ name: name description: New Attribute Description data_type: string order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: false visible_to_contacts: false default: false ticket_type_id: 85 archived: false created_at: 1717022031 updated_at: 1717022031 schema: $ref: '#/components/schemas/ticket_type_attribute' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 6cd6a330-f710-4d36-92d3-1aab2e1c09bc errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/update_ticket_type_attribute_request' examples: ticket_type_attribute_updated: summary: Ticket Type Attribute updated value: description: New Attribute Description /ticket_types: get: summary: List all ticket types parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Ticket Types operationId: listTicketTypes description: You can get a list of all ticket types for a workspace. responses: '200': description: successful content: application/json: examples: successful: value: type: list data: - type: ticket_type id: '87' name: Bug Report description: Bug Report Template icon: 🎟️ workspace_id: this_is_an_id608_that_should_be_at_least_ archived: false created_at: 1717022032 updated_at: 1717022032 is_internal: false ticket_type_attributes: type: list data: - type: ticket_type_attribute id: '261' workspace_id: this_is_an_id608_that_should_be_at_least_ name: _default_title_ description: '' data_type: string input_options: multiline: false order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 87 archived: false created_at: 1717022032 updated_at: 1717022032 - type: ticket_type_attribute id: '263' workspace_id: this_is_an_id608_that_should_be_at_least_ name: name description: description data_type: string input_options: null order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: false visible_to_contacts: false default: false ticket_type_id: 87 archived: false created_at: 1717022032 updated_at: 1717022032 - type: ticket_type_attribute id: '262' workspace_id: this_is_an_id608_that_should_be_at_least_ name: _default_description_ description: '' data_type: string input_options: multiline: true order: 1 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 87 archived: false created_at: 1717022032 updated_at: 1717022032 category: Customer schema: $ref: '#/components/schemas/ticket_type_list' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 129e57fb-ff66-4b06-80f4-868e7ef57da2 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' post: summary: Create a ticket type parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' tags: - Ticket Types operationId: createTicketType description: > You can create a new ticket type. > 📘 Creating ticket types. > > Every ticket type will be created with two default attributes: _default_title_ and _default_description_. > For the `icon` propery, use an emoji from [Twemoji Cheatsheet](https://twemoji-cheatsheet.vercel.app/) responses: '200': description: Ticket type created content: application/json: examples: Ticket type created: value: type: ticket_type id: '90' name: Customer Issue description: Customer Report Template icon: 🎟️ workspace_id: this_is_an_id612_that_should_be_at_least_ archived: false created_at: 1717022034 updated_at: 1717022034 is_internal: false ticket_type_attributes: type: list data: - type: ticket_type_attribute id: '270' workspace_id: this_is_an_id612_that_should_be_at_least_ name: _default_title_ description: '' data_type: string input_options: multiline: false order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 90 archived: false created_at: 1717022034 updated_at: 1717022034 - type: ticket_type_attribute id: '271' workspace_id: this_is_an_id612_that_should_be_at_least_ name: _default_description_ description: '' data_type: string input_options: multiline: true order: 1 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 90 archived: false created_at: 1717022034 updated_at: 1717022034 category: Customer schema: $ref: '#/components/schemas/ticket_type' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 5f393c26-da58-4ecb-8d3f-f6c1715d67f7 errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_ticket_type_request' examples: ticket_type_created: summary: Ticket type created value: name: Customer Issue description: Customer Report Template icon: 🎟️ category: Customer /ticket_types/{id}: get: summary: Retrieve a ticket type parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: >- The unique identifier for the ticket type which is given by Intercom. schema: type: string tags: - Ticket Types operationId: getTicketType description: You can fetch the details of a single ticket type. responses: '200': description: Ticket type found content: application/json: examples: Ticket type found: value: type: ticket_type id: '92' name: Bug Report description: Bug Report Template icon: 🎟️ workspace_id: this_is_an_id616_that_should_be_at_least_ archived: false created_at: 1717022035 updated_at: 1717022035 is_internal: false ticket_type_attributes: type: list data: - type: ticket_type_attribute id: '275' workspace_id: this_is_an_id616_that_should_be_at_least_ name: _default_title_ description: '' data_type: string input_options: multiline: false order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 92 archived: false created_at: 1717022035 updated_at: 1717022035 - type: ticket_type_attribute id: '277' workspace_id: this_is_an_id616_that_should_be_at_least_ name: name description: description data_type: string input_options: null order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: false visible_to_contacts: false default: false ticket_type_id: 92 archived: false created_at: 1717022035 updated_at: 1717022035 - type: ticket_type_attribute id: '276' workspace_id: this_is_an_id616_that_should_be_at_least_ name: _default_description_ description: '' data_type: string input_options: multiline: true order: 1 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 92 archived: false created_at: 1717022035 updated_at: 1717022035 category: Customer schema: $ref: '#/components/schemas/ticket_type' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 7e47a3ae-d0d0-4105-9bc8-e280b3339b2e errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' put: summary: Update a ticket type parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true description: >- The unique identifier for the ticket type which is given by Intercom. schema: type: string tags: - Ticket Types operationId: updateTicketType description: > You can update a ticket type. > 📘 Updating a ticket type. > > For the `icon` propery, use an emoji from [Twemoji Cheatsheet](https://twemoji-cheatsheet.vercel.app/) responses: '200': description: Ticket type updated content: application/json: examples: Ticket type updated: value: type: ticket_type id: '94' name: Bug Report 2 description: Bug Report Template icon: 🎟️ workspace_id: this_is_an_id620_that_should_be_at_least_ archived: false created_at: 1717022036 updated_at: 1717022037 is_internal: false ticket_type_attributes: type: list data: - type: ticket_type_attribute id: '281' workspace_id: this_is_an_id620_that_should_be_at_least_ name: _default_title_ description: '' data_type: string input_options: multiline: false order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 94 archived: false created_at: 1717022036 updated_at: 1717022036 - type: ticket_type_attribute id: '283' workspace_id: this_is_an_id620_that_should_be_at_least_ name: name description: description data_type: string input_options: null order: 0 required_to_create: false required_to_create_for_contacts: false visible_on_create: false visible_to_contacts: false default: false ticket_type_id: 94 archived: false created_at: 1717022036 updated_at: 1717022036 - type: ticket_type_attribute id: '282' workspace_id: this_is_an_id620_that_should_be_at_least_ name: _default_description_ description: '' data_type: string input_options: multiline: true order: 1 required_to_create: false required_to_create_for_contacts: false visible_on_create: true visible_to_contacts: true default: true ticket_type_id: 94 archived: false created_at: 1717022036 updated_at: 1717022036 category: Customer schema: $ref: '#/components/schemas/ticket_type' '401': description: Unauthorized content: application/json: examples: Unauthorized: value: type: error.list request_id: 2c5309a1-5095-477e-9bff-39615104fd0e errors: - code: unauthorized message: Access Token Invalid schema: $ref: '#/components/schemas/error' requestBody: content: application/json: schema: $ref: '#/components/schemas/update_ticket_type_request' examples: ticket_type_updated: summary: Ticket type updated value: name: Bug Report 2 /tickets/{id}/reply: post: summary: Reply to a ticket operationId: replyTicket description: >- You can reply to a ticket with a message from an admin or on behalf of a contact, or with a note for admins. parameters: - name: Intercom-Version in: header schema: $ref: '#/components/schemas/intercom_version' - name: id in: path required: true schema: title: Ticket ID type: string description: The id of the ticket to target. example: '123' tags: - Tickets responses: '200': description: Admin quick_reply reply content: application/json: examples: User reply: value: type: ticket_part id: '142' part_type: comment body:Thanks again :)
created_at: 1717022040 updated_at: 1717022040 author: id: 6657ad586abd0166b52ae30b type: user name: null email: user30@email.com attachments: [] redacted: false Admin note reply: value: type: ticket_part id: '145' part_type: note body: |-Okay!
created_at: type: integer format: date-time description: The time the conversation part was created. example: 1663597223 updated_at: type: integer format: date-time description: The last time the conversation part was updated. example: 1663597260 notified_at: type: integer format: date-time description: The time the user was notified with the conversation part. example: 1663597260 assigned_to: $ref: '#/components/schemas/reference' nullable: true description: >- The id of the admin that was assigned the conversation by this conversation_part (null if there has been no change in assignment.) author: $ref: '#/components/schemas/conversation_part_author' attachments: title: Conversation part attachments type: array description: A list of attachments for the part. items: $ref: '#/components/schemas/part_attachment' external_id: type: string nullable: true description: The external id of the conversation part example: abcd1234 redacted: type: boolean description: Whether or not the conversation part has been redacted. example: false conversation_part_author: title: Conversation part author type: object description: >- The object who initiated the conversation, which can be a Contact, Admin or Team. Bots and campaigns send messages on behalf of Admins or Teams. For Twitter, this will be blank. properties: type: type: string description: The type of the author example: admin id: type: string description: The id of the author example: '274' name: type: string description: The name of the author example: Operator email: type: string format: email description: The email of the author example: operator+abcd1234@intercom.io conversation_parts: title: Conversation Parts type: object description: >- A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts. properties: type: type: string description: '' enum: - conversation_part.list example: conversation_part.list conversation_parts: title: Conversation Parts type: array description: >- A list of Conversation Part objects for each part message in the conversation. This is only returned when Retrieving a Conversation, and ignored when Listing all Conversations. There is a limit of 500 parts. items: $ref: '#/components/schemas/conversation_part' total_count: type: integer description: '' example: 2 conversation_rating: title: Conversation Rating type: object nullable: true description: >- The Conversation Rating object which contains information on the rating and/or remark added by a Contact and the Admin assigned to the conversation. properties: rating: type: integer description: The rating, between 1 and 5, for the conversation. example: 5 remark: type: string description: An optional field to add a remark to correspond to the number rating example: '' created_at: type: integer format: date-time description: The time the rating was requested in the conversation being rated. example: 1671028894 contact: $ref: '#/components/schemas/contact_reference' teammate: $ref: '#/components/schemas/reference' conversation_source: title: Conversation source type: object description: >- The Conversation Part that originated this conversation, which can be Contact, Admin, Campaign, Automated or Operator initiated. properties: type: type: string description: >- This includes conversation, email, facebook, instagram, phone_call, phone_switch, push, sms, twitter and whatsapp. example: conversation id: type: string description: The id representing the message. example: '3' delivered_as: type: string description: >- The conversation's initiation type. Possible values are customer_initiated, campaigns_initiated (legacy campaigns), operator_initiated (Custom bot), automated (Series and other outbounds with dynamic audience message) and admin_initiated (fixed audience message, ticket initiated by an admin, group email). example: operator_initiated subject: type: string description: >- Optional. The message subject. For Twitter, this will show a generic message regarding why the subject is obscured. example: '' body: type: string description: >- The message body, which may contain HTML. For Twitter, this will show a generic message regarding why the body is obscured. example:Hey there!
author: $ref: '#/components/schemas/conversation_part_author' attachments: type: array description: A list of attachments for the part. items: $ref: '#/components/schemas/part_attachment' url: type: string nullable: true description: >- The URL where the conversation was started. For Twitter, Email, and Bots, this will be blank. example: null redacted: type: boolean description: >- Whether or not the source message has been redacted. Only applicable for contact initiated messages. example: false conversation_statistics: title: Conversation statistics type: object nullable: true description: >- A Statistics object containing all information required for reporting, with timestamps and calculated metrics. properties: type: type: string description: '' example: conversation_statistics time_to_assignment: type: integer description: Duration until last assignment before first admin reply. In seconds. example: 2310 time_to_admin_reply: type: integer description: >- Duration until first admin reply. Subtracts out of business hours. In seconds. example: 2310 time_to_first_close: type: integer description: >- Duration until conversation was closed first time. Subtracts out of business hours. In seconds. example: 2310 time_to_last_close: type: integer description: >- Duration until conversation was closed last time. Subtracts out of business hours. In seconds. example: 2310 median_time_to_reply: type: integer description: >- Median based on all admin replies after a contact reply. Subtracts out of business hours. In seconds. example: 2310 first_contact_reply_at: type: integer format: date-time description: Time of first text conversation part from a contact. example: 1663597233 first_assignment_at: type: integer format: date-time description: Time of first assignment after first_contact_reply_at. example: 1663597233 first_admin_reply_at: type: integer format: date-time description: Time of first admin reply after first_contact_reply_at. example: 1663597233 first_close_at: type: integer format: date-time description: Time of first close after first_contact_reply_at. example: 1663597233 last_assignment_at: type: integer format: date-time description: Time of last assignment after first_contact_reply_at. example: 1663597233 last_assignment_admin_reply_at: type: integer format: date-time description: Time of first admin reply since most recent assignment. example: 1663597233 last_contact_reply_at: type: integer format: date-time description: Time of the last conversation part from a contact. example: 1663597233 last_admin_reply_at: type: integer format: date-time description: Time of the last conversation part from an admin. example: 1663597233 last_close_at: type: integer format: date-time description: Time of the last conversation close. example: 1663597233 last_closed_by_id: type: string description: >- The last admin who closed the conversation. Returns a reference to an Admin object. example: c3po count_reopens: type: integer description: Number of reopens after first_contact_reply_at. example: 1 count_assignments: type: integer description: Number of assignments after first_contact_reply_at. example: 1 count_conversation_parts: type: integer description: Total number of conversation parts. example: 1 conversation_teammates: title: Conversation teammates type: object nullable: true description: >- The list of teammates who participated in the conversation (wrote at least one conversation part). properties: type: type: string description: The type of the object - `admin.list`. example: admin.list teammates: type: array description: >- The list of teammates who participated in the conversation (wrote at least one conversation part). items: $ref: '#/components/schemas/reference' convert_conversation_to_ticket_request: description: You can convert a Conversation to a Ticket type: object title: Convert Ticket Request Payload properties: ticket_type_id: type: string description: The ID of the type of ticket you want to convert the conversation to example: '1234' attributes: $ref: '#/components/schemas/ticket_request_custom_attributes' required: - ticket_type_id convert_visitor_request: description: You can merge a Visitor to a Contact of role type lead or user. type: object title: Convert Visitor Request Payload properties: type: type: string description: Represents the role of the Contact model. Accepts `lead` or `user`. example: user user: type: object description: The unique identifiers retained after converting or merging. properties: id: type: string description: >- The unique identifier for the contact which is given by Intercom. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c user_id: type: string description: >- A unique identifier for the contact which is given to Intercom, which will be represented as external_id. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c email: type: string description: The contact's email, retained by default if one is present. example: winstonsmith@truth.org anyOf: - required: - id - required: - user_id visitor: type: object description: The unique identifiers to convert a single Visitor. properties: id: type: string description: >- The unique identifier for the contact which is given by Intercom. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c user_id: type: string description: A unique identifier for the contact which is given to Intercom. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c email: type: string description: The visitor's email. example: winstonsmith@truth.org anyOf: - required: - id - required: - user_id - required: - email required: - type - user - visitor create_article_request: description: You can create an Article type: object title: Create Article Request Payload nullable: true properties: title: type: string description: >- The title of the article.For multilingual articles, this will be the title of the default language's content. example: Thanks for everything description: type: string description: >- The description of the article. For multilingual articles, this will be the description of the default language's content. example: Description of the Article body: type: string description: >- The content of the article. For multilingual articles, this will be the body of the default language's content. example:This is the body in html
author_id: type: integer description: >- The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace. example: 1295 state: type: string description: >- Whether the article will be `published` or will be a `draft`. Defaults to draft. For multilingual articles, this will be the state of the default language's content. enum: - published - draft example: draft parent_id: type: integer description: >- The id of the article's parent collection or section. An article without this field stands alone. example: 18 parent_type: type: string description: The type of parent, which can either be a `collection` or `section`. example: collection translated_content: $ref: '#/components/schemas/article_translated_content' required: - title - author_id create_collection_request: description: You can create a collection type: object title: Create Collection Request Payload properties: name: type: string description: >- The name of the collection. For multilingual collections, this will be the name of the default language's content. example: collection 51 description: type: string description: >- The description of the collection. For multilingual collections, this will be the description of the default language's content. example: English description translated_content: nullable: true $ref: '#/components/schemas/group_translated_content' parent_id: type: string nullable: true description: >- The id of the parent collection. If `null` then it will be created as the first level collection. example: '6871118' help_center_id: type: integer nullable: true description: >- The id of the help center where the collection will be created. If `null` then it will be created in the default help center. example: '123' required: - name create_contact_request: description: Payload to create a contact type: object title: Create Contact Request Payload properties: role: type: string description: The role of the contact. external_id: type: string description: A unique identifier for the contact which is given to Intercom email: type: string description: The contacts email example: jdoe@example.com phone: type: string nullable: true description: The contacts phone example: '+353871234567' name: type: string nullable: true description: The contacts name example: John Doe avatar: type: string nullable: true description: An image URL containing the avatar of a contact example: https://www.example.com/avatar_image.jpg signed_up_at: type: integer format: date-time nullable: true description: The time specified for when a contact signed up example: 1571672154 last_seen_at: type: integer format: date-time nullable: true description: >- The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually) example: 1571672154 owner_id: type: integer nullable: true description: >- The id of an admin that has been assigned account ownership of the contact example: 123 unsubscribed_from_emails: type: boolean nullable: true description: Whether the contact is unsubscribed from emails example: true custom_attributes: type: object nullable: true description: The custom attributes which are set for the contact anyOf: - required: - email title: Create contact with email - required: - external_id title: Create contact with external_id - required: - role title: Create contact with role create_conversation_request: description: >- Conversations are how you can communicate with users in Intercom. They are created when a contact replies to an outbound message, or when one admin directly sends a message to a single contact. type: object title: Create Conversation Request Payload properties: from: type: object properties: type: type: string enum: - lead - user - contact description: The role associated to the contact - user or lead. example: user id: type: string description: The identifier for the contact which is given by Intercom. format: uuid minLength: 24 maxLength: 24 example: 536e564f316c83104c000020 required: - type - id body: type: string description: The content of the message. HTML is not supported. example: Hello required: - from - body create_data_attribute_request: description: '' type: object title: Create Data Attribute Request properties: name: type: string description: The name of the data attribute. example: My Data Attribute model: type: string description: The model that the data attribute belongs to. enum: - contact - company example: contact data_type: type: string description: The type of data stored for this attribute. enum: - string - integer - float - boolean - datetime - date example: string description: type: string description: The readable description you see in the UI for the attribute. example: My Data Attribute Description options: type: array description: >- To create list attributes. Provide a set of hashes with `value` as the key of the options you want to make. `data_type` must be `string`. items: type: string example: - option1 - option2 messenger_writable: type: boolean description: Can this attribute be updated by the Messenger example: false required: - name - model - data_type create_data_event_request: description: '' type: object title: Create Data Event Request properties: event_name: type: string description: >- The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`. example: invited-friend created_at: type: integer format: date-time description: The time the event occurred as a UTC Unix timestamp example: 1671028894 user_id: type: string description: Your identifier for the user. example: '314159' id: type: string description: >- The unique identifier for the contact (lead or user) which is given by Intercom. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c email: type: string description: >- An email address for your user. An email should only be used where your application uses email to uniquely identify users. example: frodo.baggins@example.com metadata: type: object description: Optional metadata about the event. additionalProperties: type: string example: invite_code: ADDAFRIEND anyOf: - title: id required required: - event_name - created_at - id - title: user_id required required: - event_name - created_at - user_id - title: email required required: - event_name - created_at - email create_data_event_summaries_request: description: >- You can send a list of event summaries for a user. Each event summary should contain the event name, the time the event occurred, and the number of times the event occurred. The event name should be a past tense "verb-noun" combination, to improve readability, for example `updated-plan`. type: object title: Create Data Event Summaries Request properties: user_id: type: string description: Your identifier for the user. example: '314159' event_summaries: type: object description: >- A list of event summaries for the user. Each event summary should contain the event name, the time the event occurred, and the number of times the event occurred. The event name should be a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`. properties: event_name: type: string description: >- The name of the event that occurred. A good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`. example: invited-friend count: type: integer description: The number of times the event occurred. example: 1 first: type: integer format: date-time description: The first time the event was sent example: 1671028894 last: type: integer format: date-time description: The last time the event was sent example: 1671028894 create_data_exports_request: description: Request for creating a data export type: object title: Create Data Export Request properties: created_at_after: type: integer description: >- The start date that you request data for. It must be formatted as a unix timestamp. example: 1527811200 created_at_before: type: integer description: >- The end date that you request data for. It must be formatted as a unix timestamp. example: 1527811200 required: - created_at_after - created_at_before create_message_request: description: You can create a message type: object title: Create Message Request Payload nullable: true properties: message_type: type: string description: 'The kind of message being created. Values: `in_app` or `email`.' enum: - in_app - email example: in_app subject: type: string description: The title of the email. example: Thanks for everything body: type: string description: The content of the message. HTML and plaintext are supported. example: Hello there template: type: string description: >- The style of the outgoing message. Possible values `plain` or `personal`. example: plain from: type: object description: >- The sender of the message. If not provided, the default sender will be used. properties: type: type: string description: Always `admin`. enum: - admin example: admin id: type: integer description: The identifier for the admin which is given by Intercom. example: 394051 required: - type - id to: type: object description: >- The sender of the message. If not provided, the default sender will be used. properties: type: type: string description: The role associated to the contact - `user` or `lead`. enum: - user - lead example: user id: type: string description: The identifier for the contact which is given by Intercom. example: 536e564f316c83104c000020 required: - type - id create_conversation_without_contact_reply: type: boolean description: >- Whether a conversation should be opened in the inbox for the message without the contact replying. Defaults to false if not provided. default: false example: true anyOf: - title: 'message_type: `email`.' required: - message_type - subject - body - template - from - to - title: 'message_type: `inapp`.' required: - message_type - body - from - to create_or_update_company_request: type: object title: Create Or Update Company Request Payload description: You can create or update a Company nullable: true properties: name: type: string description: The name of the Company example: Intercom company_id: type: string description: The company id you have defined for the company. Can't be updated example: 625e90fc55ab113b6d92175f plan: type: string description: The name of the plan you have associated with the company. example: Enterprise size: type: integer description: The number of employees in this company. example: '100' website: type: string description: >- The URL for this company's website. Please note that the value specified here is not validated. Accepts any string. example: https://www.example.com industry: type: string description: The industry that this company operates in. example: Manufacturing custom_attributes: type: object description: >- A hash of key/value pairs containing any other data about the company you want Intercom to store. additionalProperties: type: string example: paid_subscriber: true monthly_spend: 155.5 team_mates: 9 remote_created_at: type: integer description: The time the company was created by you. example: 1394531169 monthly_spend: type: integer description: >- How much revenue the company generates for your business. Note that this will truncate floats. i.e. it only allow for whole integers, 155.98 will be truncated to 155. Note that this has an upper limit of 2**31-1 or 2147483647.. example: 1000 create_or_update_tag_request: description: You can create or update an existing tag. type: object title: Create or Update Tag Request Payload properties: name: type: string description: >- The name of the tag, which will be created if not found, or the new name for the tag if this is an update request. Names are case insensitive. example: Independent id: type: string description: The id of tag to updates. example: '656452352' required: - name create_phone_switch_request: description: You can create an phone switch type: object title: Create Phone Switch Request Payload nullable: true properties: phone: type: string description: >- Phone number in E.164 format, that will receive the SMS to continue the conversation in the Messenger. example: +1 1234567890 custom_attributes: $ref: '#/components/schemas/custom_attributes' required: - phone create_ticket_reply_with_comment_request: title: Create Ticket Reply Request Payload oneOf: - $ref: '#/components/schemas/contact_reply_ticket_request' - $ref: '#/components/schemas/admin_reply_ticket_request' create_ticket_request: description: You can create a Ticket type: object title: Create Ticket Request Payload properties: ticket_type_id: type: string description: The ID of the type of ticket you want to create example: '1234' contacts: type: array description: >- The list of contacts (users or leads) affected by this ticket. Currently only one is allowed items: type: object oneOf: - title: ID properties: id: type: string description: The identifier for the contact as given by Intercom. required: - id - title: External ID properties: external_id: type: string description: >- The external_id you have defined for the contact who is being added as a participant. required: - external_id - title: Email properties: email: type: string description: >- The email you have defined for the contact who is being added as a participant. If a contact with this email does not exist, one will be created. required: - email example: - id: '1234' company_id: type: string description: >- The ID of the company that the ticket is associated with. The ID that you set upon company creation. example: '1234' ticket_attributes: $ref: '#/components/schemas/ticket_request_custom_attributes' required: - ticket_type_id - contacts create_ticket_type_attribute_request: description: You can create a Ticket Type Attribute type: object title: Create Ticket Type Attribute Request Payload properties: name: type: string description: The name of the ticket type attribute example: Bug Priority description: type: string description: >- The description of the attribute presented to the teammate or contact example: Priority level of the bug data_type: type: string description: The data type of the attribute enum: - string - list - integer - decimal - boolean - datetime - files example: string required_to_create: type: boolean description: >- Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox. default: false example: false required_to_create_for_contacts: type: boolean description: >- Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger. default: false example: false visible_on_create: type: boolean description: >- Whether the attribute is visible to teammates when creating a ticket in Inbox. default: true example: true visible_to_contacts: type: boolean description: >- Whether the attribute is visible to contacts when creating a ticket in Messenger. default: true example: true multiline: type: boolean description: >- Whether the attribute allows multiple lines of text (only applicable to string attributes) example: false list_items: type: string description: >- A comma delimited list of items for the attribute value (only applicable to list attributes) example: Low Priority,Medium Priority,High Priority allow_multiple_values: type: boolean description: >- Whether the attribute allows multiple files to be attached to it (only applicable to file attributes) example: false required: - name - description - data_type create_ticket_type_request: description: | The request payload for creating a ticket type. You can copy the `icon` property for your ticket type from [Twemoji Cheatsheet](https://twemoji-cheatsheet.vercel.app/) type: object title: Create Ticket Type Request Payload nullable: true properties: name: type: string description: The name of the ticket type. example: Bug description: type: string description: The description of the ticket type. example: Used for tracking bugs category: type: string description: Category of the Ticket Type. enum: - Customer - Back-office - Tracker example: Customer icon: type: string description: The icon of the ticket type. example: 🐞 default: 🎟️ is_internal: type: boolean description: >- Whether the tickets associated with this ticket type are intended for internal use only or will be shared with customers. This is currently a limited attribute. example: false default: false required: - name cursor_pages: title: Cursor based pages type: object description: > Cursor-based pagination is a technique used in the Intercom API to navigate through large amounts of data. A "cursor" or pointer is used to keep track of the current position in the result set, allowing the API to return the data in small chunks or "pages" as needed. nullable: true properties: type: type: string description: the type of object `pages`. example: pages enum: - pages page: type: integer description: The current page example: 1 next: $ref: '#/components/schemas/starting_after_paging' per_page: type: integer description: Number of results per page example: 2 total_pages: type: integer description: Total number of pages example: 13 custom_attributes: title: Custom Attributes type: object description: >- An object containing the different custom attributes associated to the conversation as key-value pairs. For relationship attributes the value will be a list of custom object instance models. additionalProperties: anyOf: - type: string - $ref: '#/components/schemas/custom_object_instance' custom_object_instance: title: Custom Object Instance type: object x-tags: - Custom Object Instances nullable: true description: >- A Custom Object Instance represents an instance of a custom object type. This allows you to create and set custom attributes to store data about your customers that is not already captured by Intercom. The parent object includes recommended default attributes and you can add your own custom attributes. properties: id: type: string description: The Intercom defined id representing the custom object instance. example: 5a7a19e9f59ae20001d1c1e6 external_id: type: string description: The id you have defined for the custom object instance. example: 0001d1c1e65a7a19e9f59ae2 type: type: string description: >- The identifier of the custom object type that defines the structure of the custom object instance. example: Order custom_attributes: type: object description: The custom attributes you have set on the custom object instance. additionalProperties: type: string customer_request: type: object nullable: true oneOf: - title: Intercom User ID properties: intercom_user_id: type: string description: The identifier for the contact as given by Intercom. example: 6329bd9ffe4e2e91dac76188 required: - intercom_user_id - title: User ID properties: user_id: type: string description: >- The external_id you have defined for the contact who is being added as a participant. example: 2e91dac761886329bd9ffe4e required: - user_id - title: Email properties: email: type: string description: >- The email you have defined for the contact who is being added as a participant. example: sam.sung@example.com required: - email data_attribute: title: Data Attribute type: object x-tags: - Data Attributes description: >- Data Attributes are metadata used to describe your contact, company and conversation models. These include standard and custom attributes. By using the data attributes endpoint, you can get the global list of attributes for your workspace, as well as create and archive custom attributes. properties: type: type: string description: Value is `data_attribute`. enum: - data_attribute example: data_attribute id: type: integer description: >- The unique identifier for the data attribute which is given by Intercom. Only available for custom attributes. example: 12878 model: type: string description: >- Value is `contact` for user/lead attributes and `company` for company attributes. enum: - contact - company example: contact name: type: string description: Name of the attribute. example: paid_subscriber full_name: type: string description: >- Full name of the attribute. Should match the name unless it's a nested attribute. We can split full_name on `.` to access nested user object values. example: custom_attributes.paid_subscriber label: type: string description: Readable name of the attribute (i.e. name you see in the UI) example: Paid Subscriber description: type: string description: Readable description of the attribute. example: Whether the user is a paid subscriber. data_type: type: string description: The data type of the attribute. enum: - string - integer - float - boolean - date example: boolean options: type: array description: List of predefined options for attribute value. items: type: string example: - 'true' - 'false' api_writable: type: boolean description: Can this attribute be updated through API example: true messenger_writable: type: boolean description: Can this attribute be updated by the Messenger example: false ui_writable: type: boolean description: Can this attribute be updated in the UI example: true custom: type: boolean description: Set to true if this is a CDA example: true archived: type: boolean description: Is this attribute archived. (Only applicable to CDAs) example: false created_at: type: integer format: date-time description: The time the attribute was created as a UTC Unix timestamp example: 1671028894 updated_at: type: integer format: date-time description: The time the attribute was last updated as a UTC Unix timestamp example: 1671028894 admin_id: type: string description: Teammate who created the attribute. Only applicable to CDAs example: '5712945' data_attribute_list: title: Data Attribute List type: object description: >- A list of all data attributes belonging to a workspace for contacts, companies or conversations. properties: type: type: string description: The type of the object enum: - list example: list data: type: array description: A list of data attributes items: $ref: '#/components/schemas/data_attribute' data_event: title: Data Event type: object x-tags: - Data Events description: Data events are used to notify Intercom of changes to your data. properties: type: type: string description: The type of the object enum: - event example: event event_name: type: string description: >- The name of the event that occurred. This is presented to your App's admins when filtering and creating segments - a good event name is typically a past tense 'verb-noun' combination, to improve readability, for example `updated-plan`. example: invited-friend created_at: type: integer format: date-time description: The time the event occurred as a UTC Unix timestamp example: 1671028894 user_id: type: string description: Your identifier for the user. example: '314159' id: type: string description: Your identifier for a lead or a user. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c intercom_user_id: type: string description: The Intercom identifier for the user. example: 63a0979a5eeebeaf28dd56ba email: type: string description: >- An email address for your user. An email should only be used where your application uses email to uniquely identify users. example: frodo.baggins@example.com metadata: type: object description: Optional metadata about the event. additionalProperties: type: string example: invite_code: ADDAFRIEND required: - event_name - created_at data_event_list: title: Data Event List type: object description: This will return a list of data events for the App. properties: type: type: string description: The type of the object enum: - event.list example: event.list events: type: array description: A list of data events items: $ref: '#/components/schemas/data_event' pages: type: object description: Pagination properties: next: type: string example: >- https://api.intercom.io/events?per_page=2&before=1389913941064&intercom_user_id=63a0979a5eeebeaf28dd56ba&type=user" since: type: string example: >- https://api.intercom.io/events?intercom_user_id=63a0979a5eeebeaf28dd56ba&type=user&since=1389913941065 data_event_summary: title: Data Event Summary type: object description: This will return a summary of data events for the App. properties: type: type: string description: The type of the object enum: - event.summary example: event.summary email: type: string description: The email address of the user example: Sam.Sung@example.com intercom_user_id: type: string description: The Intercom user ID of the user example: 63a0979a5eeebeaf28dd56ba user_id: type: string description: The user ID of the user example: 62b997f288e14803c5006932 events: type: array description: A summary of data events items: $ref: '#/components/schemas/data_event_summary_item' data_event_summary_item: title: Data Event Summary Item type: object description: This will return a summary of a data event for the App. nullable: true properties: name: type: string description: The name of the event example: placed-order first: type: string description: The first time the event was sent example: '2014-01-16T23:12:21.000+00:00' last: type: string description: The last time the event was sent example: '2014-01-16T23:12:21.000+00:00 ' count: type: integer description: The number of times the event was sent example: 1 description: type: string description: The description of the event example: A user placed an order data_export: title: Data Export type: object x-tags: - Data Export description: >- The data export api is used to view all message sent & viewed in a given timeframe. properties: job_identfier: type: string description: The identifier for your job. example: orzzsbd7hk67xyu status: type: string enum: - pending - in_progress - failed - completed - no_data - canceled description: The current state of your job. example: pending download_expires_at: type: string description: The time after which you will not be able to access the data. example: '1674917488' download_url: type: string description: The location where you can download your data. example: https://api.intercom.test/download/messages/data/example data_export_csv: title: Data Export CSV type: object description: A CSV output file properties: user_id: type: string description: The user_id of the user who was sent the message. user_external_id: type: string description: The external_user_id of the user who was sent the message company_id: type: string description: >- The company ID of the user in relation to the message that was sent. Will return -1 if no company is present. email: type: string description: The users email who was sent the message. name: type: string description: The full name of the user receiving the message ruleset_id: type: string description: The id of the message. content_id: type: string description: >- The specific content that was received. In an A/B test each version has its own Content ID. content_type: type: string description: Email, Chat, Post etc. content_title: type: string description: The title of the content you see in your Intercom workspace. ruleset_version_id: type: string description: >- As you edit content we record new versions. This ID can help you determine which version of a piece of content that was received. receipt_id: type: string description: >- ID for this receipt. Will be included with any related stats in other files to identify this specific delivery of a message. received_at: type: integer description: Timestamp for when the receipt was recorded. series_id: type: string description: >- The id of the series that this content is part of. Will return -1 if not part of a series. series_title: type: string description: The title of the series that this content is part of. node_id: type: string description: >- The id of the series node that this ruleset is associated with. Each block in a series has a corresponding node_id. first_reply: type: integer description: >- The first time a user replied to this message if the content was able to receive replies. first_completion: type: integer description: >- The first time a user completed this message if the content was able to be completed e.g. Tours, Surveys. first_series_completion: type: integer description: >- The first time the series this message was a part of was completed by the user. first_series_disengagement: type: integer description: >- The first time the series this message was a part of was disengaged by the user. first_series_exit: type: integer description: >- The first time the series this message was a part of was exited by the user. first_goal_success: type: integer description: >- The first time the user met this messages associated goal if one exists. first_open: type: integer description: The first time the user opened this message. first_click: type: integer description: >- The first time the series the user clicked on a link within this message. first_dismisall: type: integer description: The first time the series the user dismissed this message. first_unsubscribe: type: integer description: The first time the user unsubscribed from this message. first_hard_bounce: type: integer description: The first time this message hard bounced for this user deleted_article_object: title: Deleted Article Object type: object description: Response returned when an object is deleted properties: id: type: string description: The unique identifier for the article which you provided in the URL. example: '6890762' object: type: string description: The type of object which was deleted. - article enum: - article example: article deleted: type: boolean description: Whether the article was deleted successfully or not. example: true deleted_collection_object: title: Deleted Collection Object type: object description: Response returned when an object is deleted properties: id: type: string description: >- The unique identifier for the collection which you provided in the URL. example: '6890762' object: type: string description: The type of object which was deleted. - `collection` enum: - collection example: collection deleted: type: boolean description: Whether the collection was deleted successfully or not. example: true deleted_company_object: title: Deleted Company Object type: object description: Response returned when an object is deleted properties: id: type: string description: The unique identifier for the company which is given by Intercom. example: 5b7e8b2f-7a1a-4e6c-8e1b-4f9d4f4c4d4f object: type: string description: The type of object which was deleted. - `company` enum: - company example: company deleted: type: boolean description: Whether the company was deleted successfully or not. example: true deleted_object: title: Deleted Object type: object description: Response returned when an object is deleted properties: id: type: string description: >- The unique identifier for the news item which you provided in the URL. example: '6890762' object: type: string description: The type of object which was deleted - news-item. enum: - news-item example: news-item deleted: type: boolean description: Whether the news item was deleted successfully or not. example: true detach_contact_from_conversation_request: properties: admin_id: type: string description: The `id` of the admin who is performing the action. example: '5017690' required: - admin_id error: type: object title: Error description: >- The API will return an Error List for a failed request, which will contain one or more Error objects. properties: type: type: string description: The type is error.list example: error.list request_id: type: string nullable: true format: uuid description: '' example: f93ecfa8-d08a-4325-8694-89aeb89c8f85 errors: type: array description: An array of one or more error objects items: properties: code: type: string description: >- A string indicating the kind of error, used to further qualify the HTTP response code example: unauthorized message: type: string nullable: true description: Optional. Human readable description of the error. example: Access Token Invalid field: type: string nullable: true description: >- Optional. Used to identify a particular field or query parameter that was in error. example: email required: - code required: - type - errors file_attribute: title: File type: object description: The value describing a file upload set for a custom attribute properties: type: type: string example: upload name: type: string description: The name of the file example: Screenshot.png url: type: string description: >- The url of the file. This is a temporary URL and will expire after 30 minutes. example: https://intercom-attachments-1.com/.../Screenshot.png content_type: type: string description: The type of file example: image/png filesize: type: integer description: The size of the file in bytes example: 11308309 width: type: integer description: The width of the file in pixels, if applicable example: 3024 height: type: integer description: The height of the file in pixels, if applicable example: 1964 group_content: title: Group Content type: object description: The Content of a Group. nullable: true properties: type: type: string description: The type of object - `group_content` . enum: - null - group_content example: group_content nullable: true name: type: string description: The name of the collection or section. example: Collection name description: type: string description: The description of the collection. Only available for collections. example: ' Collection description' group_translated_content: title: Group Translated Content type: object description: >- The Translated Content of an Group. The keys are the locale codes and the values are the translated content of the Group. nullable: true properties: type: type: string description: The type of object - group_translated_content. nullable: true enum: - null - group_translated_content example: group_translated_content ar: description: The content of the group in Arabic $ref: '#/components/schemas/group_content' bg: description: The content of the group in Bulgarian $ref: '#/components/schemas/group_content' bs: description: The content of the group in Bosnian $ref: '#/components/schemas/group_content' ca: description: The content of the group in Catalan $ref: '#/components/schemas/group_content' cs: description: The content of the group in Czech $ref: '#/components/schemas/group_content' da: description: The content of the group in Danish $ref: '#/components/schemas/group_content' de: description: The content of the group in German $ref: '#/components/schemas/group_content' el: description: The content of the group in Greek $ref: '#/components/schemas/group_content' en: description: The content of the group in English $ref: '#/components/schemas/group_content' es: description: The content of the group in Spanish $ref: '#/components/schemas/group_content' et: description: The content of the group in Estonian $ref: '#/components/schemas/group_content' fi: description: The content of the group in Finnish $ref: '#/components/schemas/group_content' fr: description: The content of the group in French $ref: '#/components/schemas/group_content' he: description: The content of the group in Hebrew $ref: '#/components/schemas/group_content' hr: description: The content of the group in Croatian $ref: '#/components/schemas/group_content' hu: description: The content of the group in Hungarian $ref: '#/components/schemas/group_content' id: description: The content of the group in Indonesian $ref: '#/components/schemas/group_content' it: description: The content of the group in Italian $ref: '#/components/schemas/group_content' ja: description: The content of the group in Japanese $ref: '#/components/schemas/group_content' ko: description: The content of the group in Korean $ref: '#/components/schemas/group_content' lt: description: The content of the group in Lithuanian $ref: '#/components/schemas/group_content' lv: description: The content of the group in Latvian $ref: '#/components/schemas/group_content' mn: description: The content of the group in Mongolian $ref: '#/components/schemas/group_content' nb: description: The content of the group in Norwegian $ref: '#/components/schemas/group_content' nl: description: The content of the group in Dutch $ref: '#/components/schemas/group_content' pl: description: The content of the group in Polish $ref: '#/components/schemas/group_content' pt: description: The content of the group in Portuguese (Portugal) $ref: '#/components/schemas/group_content' ro: description: The content of the group in Romanian $ref: '#/components/schemas/group_content' ru: description: The content of the group in Russian $ref: '#/components/schemas/group_content' sl: description: The content of the group in Slovenian $ref: '#/components/schemas/group_content' sr: description: The content of the group in Serbian $ref: '#/components/schemas/group_content' sv: description: The content of the group in Swedish $ref: '#/components/schemas/group_content' tr: description: The content of the group in Turkish $ref: '#/components/schemas/group_content' vi: description: The content of the group in Vietnamese $ref: '#/components/schemas/group_content' pt-BR: description: The content of the group in Portuguese (Brazil) $ref: '#/components/schemas/group_content' zh-CN: description: The content of the group in Chinese (China) $ref: '#/components/schemas/group_content' zh-TW: description: The content of the group in Chinese (Taiwan) $ref: '#/components/schemas/group_content' help_center: title: Help Center type: object x-tags: - Help Center description: Help Centers contain collections properties: id: type: string description: >- The unique identifier for the Help Center which is given by Intercom. example: '123' workspace_id: type: string description: The id of the workspace which the Help Center belongs to. example: hfi1bx4l created_at: type: integer format: date-time description: The time when the Help Center was created. example: 1672928359 updated_at: type: integer format: date-time description: The time when the Help Center was last updated. example: 1672928610 identifier: type: string description: >- The identifier of the Help Center. This is used in the URL of the Help Center. example: intercom website_turned_on: type: boolean description: >- Whether the Help Center is turned on or not. This is controlled in your Help Center settings. example: true display_name: type: string description: The display name of the Help Center only seen by teammates. example: Intercom Help Center help_center_list: title: Help Centers type: object x-tags: - Help Center description: A list of Help Centers belonging to the App properties: type: type: string description: The type of the object - `list`. enum: - list example: list data: type: array description: An array of Help Center objects items: $ref: '#/components/schemas/help_center' intercom_version: description: >- Intercom API version.By default, it's equal to the version set in the app package. type: string example: '2.10' default: '2.10' enum: - '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' - Unstable linked_object: title: Linked Object type: object description: A linked conversation or ticket. properties: type: type: string description: ticket or conversation enum: - ticket - conversation example: ticket id: type: string description: The ID of the linked object example: '7583' category: type: string description: Category of the Linked Ticket Object. enum: - Customer - Back-office - Tracker - null example: Customer nullable: true linked_object_list: title: Linked Objects type: object description: >- An object containing metadata about linked conversations and linked tickets. Up to 1000 can be returned. properties: type: type: string description: Always list. enum: - list example: list total_count: type: integer description: The total number of linked objects. example: 100 has_more: type: boolean description: Whether or not there are more linked objects than returned. example: false data: type: array description: An array containing the linked conversations and linked tickets. items: $ref: '#/components/schemas/linked_object' merge_contacts_request: description: Merge contact data. type: object title: Merge contact data properties: from: type: string description: >- The unique identifier for the contact to merge away from. Must be a lead. example: 5d70dd30de4efd54f42fd526 into: type: string description: The unique identifier for the contact to merge into. Must be a user. example: 5ba682d23d7cf92bef87bfd4 message: type: object title: Message x-tags: - Messages description: >- Message are how you reach out to contacts in Intercom. They are created when an admin sends an outbound message to a contact. properties: type: type: string description: The type of the message example: user_message id: type: string description: The id representing the message. example: '1488971108' created_at: type: integer format: date-time description: The time the conversation was created. example: 1667560812 subject: type: string description: 'The subject of the message. Only present if message_type: email.' example: Greetings body: type: string description: The message body, which may contain HTML. example: Hello message_type: type: string enum: - email - inapp - facebook - twitter description: >- The type of message that was sent. Can be email, inapp, facebook or twitter. example: inapp conversation_id: type: string description: The associated conversation_id example: '64619700005570' required: - type - id - created_at - body - message_type multiple_filter_search_request: title: Multiple Filter Search Request description: Search using Intercoms Search APIs with more than one filter. type: object properties: operator: type: string enum: - AND - OR description: An operator to allow boolean inspection between multiple fields. example: AND value: oneOf: - type: array description: Add mutiple filters. title: multiple filter search request items: $ref: '#/components/schemas/multiple_filter_search_request' - type: array description: Add a single filter field. title: single filter search request items: $ref: '#/components/schemas/single_filter_search_request' news_item: title: News Item type: object x-tags: - News description: >- A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers. properties: type: type: string description: The type of object. enum: - news-item example: news-item id: type: string description: The unique identifier for the news item which is given by Intercom. example: '141' workspace_id: type: string description: The id of the workspace which the news item belongs to. example: t74hdn32 title: type: string description: The title of the news item. example: 'New feature: News Items' body: type: string description: The news item body, which may contain HTML. example: >- We are excited to announce the launch of News Items, a new content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers. sender_id: type: integer description: >- The id of the sender of the news item. Must be a teammate on the workspace. example: 123 state: type: string description: >- News items will not be visible to your users in the assigned newsfeeds until they are set live. enum: - draft - live example: live newsfeed_assignments: type: array description: A list of newsfeed_assignments to assign to the specified newsfeed. items: $ref: '#/components/schemas/newsfeed_assignment' labels: type: array description: Label names displayed to users to categorize the news item. items: type: string nullable: true description: The label name. example: Product Update cover_image_url: type: string format: uri nullable: true description: URL of the image used as cover. Must have .jpg or .png extension. example: https://example.com/cover.jpg reactions: type: array description: >- Ordered list of emoji reactions to the news item. When empty, reactions are disabled. items: type: string nullable: true description: The emoji reaction to the news item. example: 👍 deliver_silently: type: boolean description: >- When set to true, the news item will appear in the messenger newsfeed without showing a notification badge. example: true created_at: type: integer format: timestamp description: Timestamp for when the news item was created. example: 1610589632 updated_at: type: integer format: timestamp description: Timestamp for when the news item was last updated. example: 1610589632 news_item_request: description: >- A News Item is a content type in Intercom enabling you to announce product updates, company news, promotions, events and more with your customers. type: object title: Create News Item Request properties: title: type: string description: The title of the news item. example: Halloween is here! body: type: string description: The news item body, which may contain HTML. example:New costumes in store for this spooky season
sender_id: type: integer description: >- The id of the sender of the news item. Must be a teammate on the workspace. example: 123 state: type: string description: >- News items will not be visible to your users in the assigned newsfeeds until they are set live. enum: - draft - live example: live deliver_silently: type: boolean description: >- When set to `true`, the news item will appear in the messenger newsfeed without showing a notification badge. example: true labels: type: array description: Label names displayed to users to categorize the news item. items: type: string example: - Product - Update - New reactions: type: array description: >- Ordered list of emoji reactions to the news item. When empty, reactions are disabled. items: type: string nullable: true example: - 😆 - 😅 newsfeed_assignments: type: array description: A list of newsfeed_assignments to assign to the specified newsfeed. items: $ref: '#/components/schemas/newsfeed_assignment' required: - title - sender_id newsfeed: title: Newsfeed type: object x-tags: - News description: > A newsfeed is a collection of news items, targeted to a specific audience. Newsfeeds currently cannot be edited through the API, please refer to [this article](https://www.intercom.com/help/en/articles/6362267-getting-started-with-news) to set up your newsfeeds in Intercom. properties: id: type: string description: The unique identifier for the newsfeed which is given by Intercom. example: '12312' type: type: string description: The type of object. enum: - newsfeed example: newsfeed name: type: string description: >- The name of the newsfeed. This name will never be visible to your users. example: My Newsfeed created_at: type: integer format: timestamp description: Timestamp for when the newsfeed was created. example: 1674917488 updated_at: type: integer format: timestamp description: Timestamp for when the newsfeed was last updated. example: 1674917488 newsfeed_assignment: title: Newsfeed Assignment type: object x-tags: - News description: Assigns a news item to a newsfeed. properties: newsfeed_id: type: integer description: >- The unique identifier for the newsfeed which is given by Intercom. Publish dates cannot be in the future, to schedule news items use the dedicated feature in app (see this article). example: 198313 published_at: type: integer format: timestamp description: >- Publish date of the news item on the newsfeed, use this field if you want to set a publish date in the past (e.g. when importing existing news items). On write, this field will be ignored if the news item state is "draft". example: 1674917488 note: title: Note type: object x-tags: - Notes description: Notes allow you to annotate and comment on your contacts. properties: type: type: string description: String representing the object's type. Always has the value `note`. example: note id: type: string description: The id of the note. example: '17495962' created_at: type: integer format: timestamp description: The time the note was created. example: 1674589321 contact: type: object description: Represents the contact that the note was created about. nullable: true properties: type: type: string description: >- String representing the object's type. Always has the value `contact`. id: type: string description: The id of the contact. example: 214656d0c743eafcfde7f248 author: $ref: '#/components/schemas/admin' description: Optional. Represents the Admin that created the note. body: type: string description: The body text of the note. example:Text for the note.
note_list: title: Paginated Response type: object description: A paginated list of notes associated with a contact. properties: type: type: string description: String representing the object's type. Always has the value `list`. example: list data: type: array description: An array of notes. items: $ref: '#/components/schemas/note' total_count: type: integer description: A count of the total number of notes. example: 1 pages: $ref: '#/components/schemas/cursor_pages' open_conversation_request: title: Open Conversation Request type: object description: Payload of the request to open a conversation properties: message_type: type: string enum: - open example: open admin_id: type: string description: The id of the admin who is performing the action. example: '5017690' required: - message_type - admin_id pages_link: title: Pagination Object type: object description: > The majority of list resources in the API are paginated to allow clients to traverse data over multiple requests. Their responses are likely to contain a pages object that hosts pagination links which a client can use to paginate through the data without having to construct a query. The link relations for the pages field are as follows. properties: type: type: string example: pages enum: - pages page: type: integer example: 1 next: type: string format: uri description: >- A link to the next page of results. A response that does not contain a next link does not have further data to fetch. nullable: true per_page: type: integer example: 50 total_pages: type: integer example: 1 paginated_response: title: Paginated Response type: object description: Paginated Response properties: type: type: string description: The type of object enum: - list - conversation.list example: list pages: $ref: '#/components/schemas/cursor_pages' total_count: type: integer description: A count of the total number of objects. example: 1 data: type: array description: An array of Objects items: anyOf: - $ref: '#/components/schemas/news_item' - $ref: '#/components/schemas/newsfeed' part_attachment: title: Part attachment type: object description: The file attached to a part properties: type: type: string description: The type of attachment example: upload name: type: string description: The name of the attachment example: example.png url: type: string description: The URL of the attachment example: https://picsum.photos/200/300 content_type: type: string description: The content type of the attachment example: image/png filesize: type: integer description: The size of the attachment example: 100 width: type: integer description: The width of the attachment example: 100 height: type: integer description: The height of the attachment example: 100 phone_switch: title: Phone Switch type: object description: Phone Switch Response nullable: true properties: type: type: string description: '' enum: - phone_call_redirect default: phone_call_redirect example: phone_call_redirect phone: type: string description: >- Phone number in E.164 format, that has received the SMS to continue the conversation in the Messenger. example: +1 1234567890 redact_conversation_request: oneOf: - title: Redact Conversation Part Request type: object description: Payload of the request to redact a conversation part properties: type: type: string enum: - conversation_part description: The type of resource being redacted. example: conversation_part conversation_id: type: string description: The id of the conversation. example: '19894788788' conversation_part_id: type: string description: The id of the conversation_part. example: '19381789428' required: - type - conversation_id - conversation_part_id - title: Redact Conversation Source Request type: object description: Payload of the request to redact a conversation source properties: type: type: string enum: - source description: The type of resource being redacted. example: source conversation_id: type: string description: The id of the conversation. example: '19894788788' source_id: type: string description: The id of the source. example: '19894781231' required: - type - conversation_id - source_id reference: title: Reference type: object description: reference to another object properties: type: type: string description: '' example: contact id: type: string nullable: true description: '' example: 1a2b3c reply_conversation_request: oneOf: - $ref: '#/components/schemas/contact_reply_conversation_request' - $ref: '#/components/schemas/admin_reply_conversation_request' search_request: description: Search using Intercoms Search APIs. type: object title: Search data properties: query: oneOf: - $ref: '#/components/schemas/single_filter_search_request' title: Single filter search request - $ref: '#/components/schemas/multiple_filter_search_request' title: multiple filter search request pagination: $ref: '#/components/schemas/starting_after_paging' required: - query segment: title: Segment type: object x-tags: - Segments description: A segment is a group of your contacts defined by the rules that you set. properties: type: type: string description: The type of object. enum: - segment example: segment id: type: string description: The unique identifier representing the segment. example: 56203d253cba154d39010062 name: type: string description: The name of the segment. example: Active created_at: type: integer description: The time the segment was created. example: 1394621988 updated_at: type: integer description: The time the segment was updated. example: 1394622004 person_type: type: string description: 'Type of the contact: contact (lead) or user.' enum: - contact - user example: contact count: type: integer description: >- The number of items in the user segment. It's returned when `include_count=true` is included in the request. example: 3 nullable: true segment_list: title: Segment List type: object description: >- This will return a list of Segment Objects. The result may also have a pages object if the response is paginated. properties: type: type: string description: The type of the object enum: - segment.list example: segment.list segments: type: array description: A list of Segment objects items: $ref: '#/components/schemas/segment' pages: type: object description: >- A pagination object, which may be empty, indicating no further pages to fetch. single_filter_search_request: title: Single Filter Search Request description: Search using Intercoms Search APIs with a single filter. type: object properties: field: type: string description: The accepted field that you want to search on. example: created_at operator: type: string enum: - '=' - '!=' - IN - NIN - < - '>' - '~' - '!~' - ^ - $ description: >- The accepted operators you can use to define how you want to search for the value. example: '>' value: type: string description: The value that you want to search on. example: '73732934' sla_applied: title: Applied SLA type: object nullable: true description: > The SLA Applied object contains the details for which SLA has been applied to this conversation. Important: if there are any canceled sla_events for the conversation - meaning an SLA has been manually removed from a conversation, the sla_status will always be returned as null. properties: type: type: string description: object type example: conversation_sla_summary sla_name: type: string description: The name of the SLA as given by the teammate when it was created. example: '' sla_status: type: string enum: - hit - missed - cancelled - active description: |- SLA statuses: - `hit`: If there’s at least one hit event in the underlying sla_events table, and no “missed” or “canceled” events for the conversation. - `missed`: If there are any missed sla_events for the conversation and no canceled events. If there’s even a single missed sla event, the status will always be missed. A missed status is not applied when the SLA expires, only the next time a teammate replies. - `active`: An SLA has been applied to a conversation, but has not yet been fulfilled. SLA status is active only if there are no “hit, “missed”, or “canceled” events. example: hit snooze_conversation_request: title: Snooze Conversation Request type: object description: Payload of the request to snooze a conversation properties: message_type: type: string enum: - snoozed example: snoozed admin_id: type: string description: The id of the admin who is performing the action. example: '5017691' snoozed_until: type: integer format: timestamp description: The time you want the conversation to reopen. example: 1673609604 required: - message_type - admin_id - snoozed_until social_profile: title: Social Profile type: object description: >- A Social Profile allows you to label your contacts, companies, and conversations and list them using that Social Profile. properties: type: type: string description: value is "social_profile" example: social_profile name: type: string description: The name of the Social media profile example: Facebook url: type: string format: uri description: The name of the Social media profile example: http://twitter.com/th1sland starting_after_paging: title: 'Pagination: Starting After' type: object nullable: true properties: per_page: type: integer description: The number of results to fetch per page. example: 2 starting_after: type: string description: >- The cursor to use in the next request to get the next page of results. nullable: true example: your-cursor-from-response subscription_type: title: Subscription Types type: object x-tags: - Subscription Types description: >- A subscription type lets customers easily opt out of non-essential communications without missing what's important to them. properties: type: type: string description: The type of the object - subscription example: subscription id: type: string description: The unique identifier representing the subscription type. example: '123456' state: type: string description: The state of the subscription type. enum: - live - draft - archived example: live default_translation: $ref: '#/components/schemas/translation' translations: type: array description: >- An array of translations objects with the localised version of the subscription type in each available locale within your translation settings. items: $ref: '#/components/schemas/translation' consent_type: type: string description: Describes the type of consent. enum: - opt_out - opt_in example: opt_in content_types: type: array description: >- The message types that this subscription supports - can contain `email` or `sms_message`. items: type: string enum: - email - sms_message example: email subscription_type_list: title: Subscription Types type: object description: A list of subscription type objects. properties: type: type: string description: The type of the object enum: - list example: list data: type: array description: A list of subscription type objects associated with the workspace . items: $ref: '#/components/schemas/subscription_type' tag: title: Tag type: object x-tags: - Tags description: >- A tag allows you to label your contacts, companies, and conversations and list them using that tag. properties: type: type: string description: value is "tag" example: tag id: type: string description: The id of the tag example: '123456' name: type: string description: The name of the tag example: Test tag applied_at: type: integer format: date-time description: The time when the tag was applied to the object example: 1663597223 applied_by: $ref: '#/components/schemas/reference' tag_company_request: description: You can tag a single company or a list of companies. type: object title: Tag Company Request Payload properties: name: type: string description: The name of the tag, which will be created if not found. example: Independent companies: type: array items: properties: id: type: string description: The Intercom defined id representing the company. example: 531ee472cce572a6ec000006 company_id: type: string description: The company id you have defined for the company. example: '6' description: >- The id or company_id of the company can be passed as input parameters. required: - name - companies tag_list: title: Tags type: object description: A list of tags objects in the workspace. properties: type: type: string description: The type of the object enum: - list example: list data: type: array description: A list of tags objects associated with the workspace . items: $ref: '#/components/schemas/tag' tag_multiple_users_request: description: You can tag a list of users. type: object title: Tag Users Request Payload properties: name: type: string description: The name of the tag, which will be created if not found. example: Independent users: type: array items: properties: id: type: string description: The Intercom defined id representing the user. example: 5f7f0d217289f8d2f4262080 required: - name - users tags: title: Tags type: object description: A list of tags objects associated with a conversation properties: type: type: string description: The type of the object enum: - tag.list example: tag.list tags: type: array description: A list of tags objects associated with the conversation. items: $ref: '#/components/schemas/tag' team: title: Team type: object x-tags: - Teams description: Teams are groups of admins in Intercom. properties: type: type: string description: Value is always "team" example: team id: type: string description: The id of the team example: '814865' name: type: string description: The name of the team example: Example Team admin_ids: type: array description: The list of admin IDs that are a part of the team. example: - 493881 items: type: integer admin_priority_level: $ref: '#/components/schemas/admin_priority_level' team_list: title: Team List type: object description: This will return a list of team objects for the App. properties: type: type: string description: The type of the object enum: - team.list example: team.list teams: type: array description: A list of team objects items: $ref: '#/components/schemas/team' team_priority_level: title: Team Priority Level type: object nullable: true description: Admin priority levels for teams properties: primary_team_ids: type: array description: The primary team ids for the team nullable: true example: - 814865 items: type: integer secondary_team_ids: type: array description: The secondary team ids for the team nullable: true example: - 493881 items: type: integer ticket: title: Ticket type: object x-tags: - Tickets description: Tickets are how you track requests from your users. nullable: true properties: type: type: string description: Always ticket enum: - ticket default: ticket example: ticket id: type: string description: The unique identifier for the ticket which is given by Intercom. example: '1295' ticket_id: type: string description: >- The ID of the Ticket used in the Intercom Inbox and Messenger. Do not use ticket_id for API queries. example: '1390' category: type: string description: Category of the Ticket. enum: - Customer - Back-office - Tracker example: Customer ticket_attributes: $ref: '#/components/schemas/ticket_custom_attributes' ticket_state: type: string description: The state the ticket is currenly in enum: - submitted - in_progress - waiting_on_customer - resolved example: submitted ticket_state_internal_label: type: string description: >- The state the ticket is currently in, in a human readable form - visible in Intercom ticket_state_external_label: type: string description: >- The state the ticket is currently in, in a human readable form - visible to customers, in the messenger, email and tickets portal. ticket_type: $ref: '#/components/schemas/ticket_type' contacts: $ref: '#/components/schemas/ticket_contacts' admin_assignee_id: type: string description: The id representing the admin assigned to the ticket. example: '1295' team_assignee_id: type: string description: The id representing the team assigned to the ticket. example: '1295' created_at: type: integer format: date-time description: The time the ticket was created as a UTC Unix timestamp. example: 1663597223 updated_at: type: integer format: date-time description: The last time the ticket was updated as a UTC Unix timestamp. example: 1663597260 open: type: boolean description: Whether or not the ticket is open. If false, the ticket is closed. example: true snoozed_until: type: integer format: date-time description: >- The time the ticket will be snoozed until as a UTC Unix timestamp. If null, the ticket is not currently snoozed. example: 1663597260 linked_objects: $ref: '#/components/schemas/linked_object_list' ticket_parts: $ref: '#/components/schemas/ticket_parts' is_shared: type: boolean description: Whether or not the ticket is shared with the customer. example: true ticket_contacts: title: Contacts type: object x-tags: - Tickets description: The list of contacts affected by a ticket. properties: type: type: string description: always contact.list enum: - contact.list example: contact.list contacts: type: array description: The list of contacts affected by this ticket. items: $ref: '#/components/schemas/contact_reference' ticket_custom_attributes: title: Ticket Attributes type: object description: >- An object containing the different attributes associated to the ticket as key-value pairs. For the default title and description attributes, the keys are `_default_title_` and `_default_description_`. additionalProperties: anyOf: - type: string nullable: true - type: number - type: boolean - type: array - $ref: '#/components/schemas/file_attribute' example: _default_title_: Found a bug _default_description_: The button's not working ticket_list: title: Ticket List type: object description: Tickets are how you track requests from your users. properties: type: type: string description: Always ticket.list enum: - ticket.list example: ticket.list tickets: type: array description: The list of ticket objects items: $ref: '#/components/schemas/ticket' total_count: type: integer description: A count of the total number of objects. example: 12345 pages: $ref: '#/components/schemas/cursor_pages' ticket_part: title: Ticket Part type: object x-tags: - Tickets description: A Ticket Part represents a message in the ticket. properties: type: type: string description: Always ticket_part example: ticket_part id: type: string description: The id representing the ticket part. example: '3' part_type: type: string description: The type of ticket part. example: comment body: type: string nullable: true description: The message body, which may contain HTML. example:Okay!
previous_ticket_state: type: string enum: - submitted - in_progress - waiting_on_customer - resolved description: The previous state of the ticket. example: submitted ticket_state: type: string enum: - submitted - in_progress - waiting_on_customer - resolved description: The state of the ticket. example: submitted created_at: type: integer format: date-time description: The time the ticket part was created. example: 1663597223 updated_at: type: integer format: date-time description: The last time the ticket part was updated. example: 1663597260 assigned_to: $ref: '#/components/schemas/reference' nullable: true description: >- The id of the admin that was assigned the ticket by this ticket_part (null if there has been no change in assignment.) author: $ref: '#/components/schemas/ticket_part_author' attachments: title: Ticket part attachments type: array description: A list of attachments for the part. items: $ref: '#/components/schemas/part_attachment' external_id: type: string nullable: true description: The external id of the ticket part example: abcd1234 redacted: type: boolean description: Whether or not the ticket part has been redacted. example: false ticket_part_author: title: Ticket part author type: object description: >- The author that wrote or triggered the part. Can be a bot, admin, team or user. properties: type: type: string description: The type of the author example: admin enum: - admin - bot - team - user id: type: string description: The id of the author example: '274' name: type: string nullable: true description: The name of the author example: Operator email: type: string format: email description: The email of the author example: operator+abcd1234@intercom.io ticket_parts: title: Ticket Parts type: object description: >- A list of Ticket Part objects for each note and event in the ticket. There is a limit of 500 parts. properties: type: type: string description: '' enum: - ticket_part.list example: ticket_part.list ticket_parts: title: Tickt Parts type: array description: >- A list of Ticket Part objects for each ticket. There is a limit of 500 parts. items: $ref: '#/components/schemas/ticket_part' total_count: type: integer description: '' example: 2 ticket_reply: title: A Ticket Part representing a note, comment, or quick_reply on a ticket type: object description: A Ticket Part representing a note, comment, or quick_reply on a ticket properties: type: type: string description: Always ticket_part example: ticket_part enum: - ticket_part id: type: string description: The id representing the part. example: '3' part_type: type: string description: Type of the part example: note enum: - note - comment - quick_reply body: type: string nullable: true description: The message body, which may contain HTML. example:Okay!
created_at: type: integer format: date-time description: The time the note was created. example: 1663597223 updated_at: type: integer format: date-time description: The last time the note was updated. example: 1663597260 author: $ref: '#/components/schemas/ticket_part_author' attachments: title: Ticket part attachments type: array description: A list of attachments for the part. items: $ref: '#/components/schemas/part_attachment' redacted: type: boolean description: Whether or not the ticket part has been redacted. example: false ticket_request_custom_attributes: title: Ticket Attributes type: object description: >- The attributes set on the ticket. When setting the default title and description attributes, the attribute keys that should be used are `_default_title_` and `_default_description_`. When setting ticket type attributes of the list attribute type, the key should be the attribute name and the value of the attribute should be the list item id, obtainable by [listing the ticket type](ref:get_ticket-types). For example, if the ticket type has an attribute called `priority` of type `list`, the key should be `priority` and the value of the attribute should be the guid of the list item (e.g. `de1825a0-0164-4070-8ca6-13e22462fa7e`). additionalProperties: anyOf: - type: string nullable: true - type: number - type: boolean - type: array example: _default_title_: Found a bug _default_description_: The button is not working ticket_type: title: Ticket Type type: object x-tags: - Tickets description: >- A ticket type, used to define the data fields to be captured in a ticket. nullable: true properties: type: type: string description: >- String representing the object's type. Always has the value `ticket_type`. example: ticket_type id: type: string description: The id representing the ticket type. example: '1295' category: type: string description: Category of the Ticket Type. enum: - Customer - Back-office - Tracker example: Customer name: type: string description: The name of the ticket type example: Bug description: type: string description: The description of the ticket type example: A bug that has been reported. icon: type: string description: The icon of the ticket type example: 🐞 workspace_id: type: string description: The id of the workspace that the ticket type belongs to. example: ecahpwf5 ticket_type_attributes: $ref: '#/components/schemas/ticket_type_attribute_list' archived: type: boolean description: Whether the ticket type is archived or not. example: false created_at: type: integer format: timestamp description: The date and time the ticket type was created. updated_at: type: integer format: timestamp description: The date and time the ticket type was last updated. ticket_type_attribute: title: Ticket Type Attribute type: object description: >- Ticket type attribute, used to define each data field to be captured in a ticket. nullable: true properties: type: type: string description: >- String representing the object's type. Always has the value `ticket_type_attribute`. example: ticket_type_attribute id: type: string description: The id representing the ticket type attribute. example: '1' workspace_id: type: string description: The id of the workspace that the ticket type attribute belongs to. example: ecahpwf5 name: type: string description: The name of the ticket type attribute example: Title description: type: string description: The description of the ticket type attribute example: Bug title. data_type: type: string description: >- The type of the data attribute (allowed values: "string list integer decimal boolean datetime files") example: string input_options: type: object description: Input options for the attribute example: 'multiline: true' order: type: integer description: The order of the attribute against other attributes example: 1 required_to_create: type: boolean description: Whether the attribute is required or not for teammates. default: false example: false required_to_create_for_contacts: type: boolean description: Whether the attribute is required or not for contacts. default: false example: false visible_on_create: type: boolean description: Whether the attribute is visible or not to teammates. default: true example: false visible_to_contacts: type: boolean description: Whether the attribute is visible or not to contacts. default: true example: false default: type: boolean description: Whether the attribute is built in or not. example: true ticket_type_id: type: integer description: The id of the ticket type that the attribute belongs to. example: 42 archived: type: boolean description: Whether the ticket type attribute is archived or not. example: false created_at: type: integer format: timestamp description: The date and time the ticket type attribute was created. updated_at: type: integer format: timestamp description: The date and time the ticket type attribute was last updated. ticket_type_attribute_list: title: Ticket Type Attributes type: object description: A list of attributes associated with a given ticket type. properties: type: type: string description: >- String representing the object's type. Always has the value `ticket_type_attributes.list`. ticket_type_attributes: type: array description: >- A list of ticket type attributes associated with a given ticket type. items: $ref: '#/components/schemas/ticket_type_attribute' ticket_type_list: title: Ticket Types type: object description: A list of ticket types associated with a given workspace. properties: type: type: string description: >- String representing the object's type. Always has the value `ticket_type.list`. ticket_types: type: array description: A list of ticket_types associated with a given workspace. items: $ref: '#/components/schemas/ticket_type' translation: title: Translation type: object description: >- A translation object contains the localised details of a subscription type. properties: name: type: string description: The localised name of the subscription type. example: Announcements description: type: string description: The localised description of the subscription type. example: Offers, product and feature announcements locale: type: string description: >- The two character identifier for the language of the translation object. example: en untag_company_request: description: You can tag a single company or a list of companies. type: object title: Untag Company Request Payload properties: name: type: string description: The name of the tag which will be untagged from the company example: Independent companies: type: array items: properties: id: type: string description: The Intercom defined id representing the company. example: 531ee472cce572a6ec000006 company_id: type: string description: The company id you have defined for the company. example: '6' untag: type: boolean description: Always set to true example: 'true' description: >- The id or company_id of the company can be passed as input parameters. required: - name - companies update_article_request: description: You can Update an Article type: object title: Update Article Request Payload nullable: true properties: title: type: string description: >- The title of the article.For multilingual articles, this will be the title of the default language's content. example: Thanks for everything description: type: string description: >- The description of the article. For multilingual articles, this will be the description of the default language's content. example: Description of the Article body: type: string description: >- The content of the article. For multilingual articles, this will be the body of the default language's content. example:This is the body in html
author_id: type: integer description: >- The id of the author of the article. For multilingual articles, this will be the id of the author of the default language's content. Must be a teammate on the help center's workspace. example: 1295 state: type: string description: >- Whether the article will be `published` or will be a `draft`. Defaults to draft. For multilingual articles, this will be the state of the default language's content. enum: - published - draft example: draft parent_id: type: string description: >- The id of the article's parent collection or section. An article without this field stands alone. example: '18' parent_type: type: string description: The type of parent, which can either be a `collection` or `section`. example: collection translated_content: $ref: '#/components/schemas/article_translated_content' update_collection_request: description: You can update a collection type: object title: Update Collection Request Payload properties: name: type: string description: >- The name of the collection. For multilingual collections, this will be the name of the default language's content. example: collection 51 description: type: string description: >- The description of the collection. For multilingual collections, this will be the description of the default language's content. example: English description translated_content: nullable: true $ref: '#/components/schemas/group_translated_content' parent_id: type: string nullable: true description: >- The id of the parent collection. If `null` then it will be updated as the first level collection. example: '6871118' update_contact_request: description: You can update a contact type: object title: Update Contact Request Payload properties: role: type: string description: The role of the contact. external_id: type: string description: A unique identifier for the contact which is given to Intercom email: type: string description: The contacts email example: jdoe@example.com phone: type: string nullable: true description: The contacts phone example: '+353871234567' name: type: string nullable: true description: The contacts name example: John Doe avatar: type: string nullable: true description: An image URL containing the avatar of a contact example: https://www.example.com/avatar_image.jpg signed_up_at: type: integer format: date-time nullable: true description: The time specified for when a contact signed up example: 1571672154 last_seen_at: type: integer format: date-time nullable: true description: >- The time when the contact was last seen (either where the Intercom Messenger was installed or when specified manually) example: 1571672154 owner_id: type: integer nullable: true description: >- The id of an admin that has been assigned account ownership of the contact example: 123 unsubscribed_from_emails: type: boolean nullable: true description: Whether the contact is unsubscribed from emails example: true custom_attributes: type: object nullable: true description: The custom attributes which are set for the contact update_conversation_request: title: Update Conversation Request type: object description: Payload of the request to update a conversation properties: read: type: boolean description: Mark a conversation as read within Intercom. example: true custom_attributes: $ref: '#/components/schemas/custom_attributes' update_data_attribute_request: description: '' type: object title: Update Data Attribute Request properties: archived: type: boolean description: Whether the attribute is to be archived or not. example: false description: type: string description: The readable description you see in the UI for the attribute. example: My Data Attribute Description options: type: array description: >- To create list attributes. Provide a set of hashes with `value` as the key of the options you want to make. `data_type` must be `string`. items: type: string example: - option1 - option2 messenger_writable: type: boolean description: Can this attribute be updated by the Messenger example: false update_ticket_request: description: You can update a Ticket type: object title: Update Ticket Request Payload properties: ticket_attributes: type: object description: The attributes set on the ticket. example: _default_title_: example _default_description_: having a problem state: type: string enum: - in_progress - waiting_on_customer - resolved description: The state of the ticket. example: submitted open: type: boolean description: >- Specify if a ticket is open. Set to false to close a ticket. Closing a ticket will also unsnooze it. example: true is_shared: type: boolean description: Specify whether the ticket is visible to users. example: true snoozed_until: type: integer format: timestamp description: The time you want the ticket to reopen. example: 1673609604 assignment: type: object properties: admin_id: type: string description: The ID of the admin performing the action. example: '123' assignee_id: type: string description: >- The ID of the admin or team to which the ticket is assigned. Set this 0 to unassign it. example: '123' update_ticket_type_attribute_request: description: You can update a Ticket Type Attribute type: object title: Update Ticket Type Attribute Request Payload properties: name: type: string description: The name of the ticket type attribute example: Bug Priority description: type: string description: >- The description of the attribute presented to the teammate or contact example: Priority level of the bug required_to_create: type: boolean description: >- Whether the attribute is required to be filled in when teammates are creating the ticket in Inbox. default: false example: false required_to_create_for_contacts: type: boolean description: >- Whether the attribute is required to be filled in when contacts are creating the ticket in Messenger. default: false example: false visible_on_create: type: boolean description: >- Whether the attribute is visible to teammates when creating a ticket in Inbox. default: true example: true visible_to_contacts: type: boolean description: >- Whether the attribute is visible to contacts when creating a ticket in Messenger. default: true example: true multiline: type: boolean description: >- Whether the attribute allows multiple lines of text (only applicable to string attributes) example: false list_items: type: string description: >- A comma delimited list of items for the attribute value (only applicable to list attributes) example: Low Priority,Medium Priority,High Priority allow_multiple_values: type: boolean description: >- Whether the attribute allows multiple files to be attached to it (only applicable to file attributes) example: false archived: type: boolean description: >- Whether the attribute should be archived and not shown during creation of the ticket (it will still be present on previously created tickets) example: false update_ticket_type_request: description: > The request payload for updating a ticket type. You can copy the `icon` property for your ticket type from [Twemoji Cheatsheet](https://twemoji-cheatsheet.vercel.app/) type: object title: Update Ticket Type Request Payload nullable: true properties: name: type: string description: The name of the ticket type. example: Bug description: type: string description: The description of the ticket type. example: A bug has been occured category: type: string description: Category of the Ticket Type. enum: - Customer - Back-office - Tracker example: Customer icon: type: string description: The icon of the ticket type. example: 🐞 default: 🎟️ archived: type: boolean description: The archived status of the ticket type. example: false is_internal: type: boolean description: >- Whether the tickets associated with this ticket type are intended for internal use only or will be shared with customers. This is currently a limited attribute. example: false default: false update_visitor_request: description: Update an existing visitor. type: object title: Update Visitor Request Payload properties: id: type: string description: A unique identified for the visitor which is given by Intercom. example: 8a88a590-e user_id: type: string description: A unique identified for the visitor which is given by you. example: '123' name: type: string description: The visitor's name. example: Christian Bale custom_attributes: type: object description: The custom attributes which are set for the visitor. additionalProperties: type: string example: paid_subscriber: true monthly_spend: 155.5 team_mates: 9 anyOf: - required: - id - required: - user_id visitor: title: Visitor type: object description: >- 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. nullable: true properties: type: type: string description: Value is 'visitor' default: visitor example: visitor id: type: string description: The Intercom defined id representing the Visitor. example: 530370b477ad7120001d user_id: type: string description: Automatically generated identifier for the Visitor. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c anonymous: type: boolean description: Identifies if this visitor is anonymous. example: false email: type: string format: email description: The email of the visitor. example: jane.doe@example.com phone: type: string nullable: true description: The phone number of the visitor. example: 555-555-5555 name: type: string nullable: true description: The name of the visitor. example: Jane Doe pseudonym: type: string nullable: true description: The pseudonym of the visitor. example: Red Duck from Dublin avatar: type: object properties: type: type: string description: '' default: avatar example: avatar image_url: type: string format: uri nullable: true description: This object represents the avatar associated with the visitor. example: https://example.com/avatar.png app_id: type: string description: The id of the app the visitor is associated with. example: hfi1bx4l companies: type: object properties: type: type: string description: The type of the object enum: - company.list example: company.list companies: type: array items: $ref: '#/components/schemas/company' location_data: type: object properties: type: type: string description: '' default: location_data example: location_data city_name: type: string description: The city name of the visitor. example: Dublin continent_code: type: string description: The continent code of the visitor. example: EU country_code: type: string description: The country code of the visitor. example: IRL country_name: type: string description: The country name of the visitor. example: Ireland postal_code: type: string description: The postal code of the visitor. example: D02 N960 region_name: type: string description: The region name of the visitor. example: Leinster timezone: type: string description: The timezone of the visitor. example: Europe/Dublin las_request_at: type: integer description: The time the Lead last recorded making a request. example: 1663597260 created_at: type: integer description: The time the Visitor was added to Intercom. example: 1663597223 remote_created_at: type: integer description: The time the Visitor was added to Intercom. example: 1663597223 signed_up_at: type: integer description: The time the Visitor signed up for your product. example: 1663597223 updated_at: type: integer description: The last time the Visitor was updated. example: 1663597260 session_count: type: integer description: The number of sessions the Visitor has had. example: 1 social_profiles: type: object properties: type: type: string description: The type of the object enum: - social_profile.list example: social_profile.list social_profiles: type: array items: type: string owner_id: type: string nullable: true description: The id of the admin that owns the Visitor. example: '5169261' unsubscribed_from_emails: type: boolean description: Whether the Visitor is unsubscribed from emails. example: false marked_email_as_spam: type: boolean description: Identifies if this visitor has marked an email as spam. example: false has_hard_bounced: type: boolean description: Identifies if this visitor has had a hard bounce. example: false tags: type: object properties: type: type: string description: The type of the object enum: - tag.list example: tag.list tags: type: array items: properties: type: type: string description: The type of the object enum: - tag example: tag id: type: string description: The id of the tag. example: '8482' name: type: string description: The name of the tag. example: tag_name segments: type: object properties: type: type: string description: The type of the object enum: - segment.list example: segment.list segments: type: array items: type: string custom_attributes: type: object description: The custom attributes you have set on the Visitor. additionalProperties: type: string referrer: type: string nullable: true description: The referer of the visitor. example: https://www.google.com/ utm_campaign: type: string nullable: true description: The utm_campaign of the visitor. example: intercom-link utm_content: type: string nullable: true description: The utm_content of the visitor. example: banner utm_medium: type: string nullable: true description: The utm_medium of the visitor. example: email utm_source: type: string nullable: true description: The utm_source of the visitor. example: Intercom utm_term: type: string nullable: true description: The utm_term of the visitor. example: messenger do_not_track: type: boolean nullable: true description: Identifies if this visitor has do not track enabled. example: false visitor_deleted_object: title: Visitor Deleted Object type: object description: Response returned when an object is deleted properties: id: type: string description: The unique identifier for the visitor which is given by Intercom. example: 530370b477ad7120001d type: type: string description: The type of object which was deleted enum: - visitor example: visitor user_id: type: string description: Automatically generated identifier for the Visitor. example: 8a88a590-e1c3-41e2-a502-e0649dbf721c securitySchemes: bearerAuth: type: http scheme: bearer servers: - url: https://api.intercom.io description: The production API server - url: https://api.eu.intercom.io description: The european API server - url: https://api.au.intercom.io description: The australian API server security: - bearerAuth: [] tags: - name: Admins description: Everything about your Admins - name: Articles description: Everything about your Articles - name: Companies description: Everything about your Companies - name: Contacts description: Everything about your contacts - name: Conversations description: Everything about your Conversations externalDocs: description: What is a conversation? url: https://www.intercom.com/help/en/articles/4323904-what-is-a-conversation - name: Data Attributes description: Everything about your Data Attributes - name: Data Events description: Everything about your Data Events - name: Data Export description: Everything about your Data Exports - name: Help Center description: Everything about your Help Center - name: Messages description: Everything about your messages - name: News description: Everything about your News externalDocs: description: News explained url: https://www.intercom.com/help/en/articles/6362251-news-explained - name: Notes description: Everything about your Notes - name: Segments description: Everything about your Segments - name: Subscription Types description: Everything about subscription types - name: Switch description: Everything about Switch externalDocs: description: 'Meet Switch: from on hold to messaging in just a few taps' url: https://www.intercom.com/switch - name: Tags description: Everything about tags - name: Teams description: Everything about your Teams - name: Ticket Type Attributes description: Everything about your ticket type attributes - name: Ticket Types description: Everything about your ticket types - name: Tickets description: Everything about your tickets - name: Visitors description: Everything about your Visitors